Go語言是一種簡潔、高效的編程語言,而Ajax和Json是Web開發(fā)中非常重要的技術(shù)。在Go語言中,我們可以使用Ajax來實現(xiàn)異步傳輸數(shù)據(jù),使用Json來傳輸和處理數(shù)據(jù)。這些技術(shù)可以幫助我們更好地處理數(shù)據(jù),提高Web應(yīng)用的響應(yīng)速度和用戶體驗。
package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func getUsers(w http.ResponseWriter, r *http.Request) { users := []User{ User{Name: "張三", Age: 20}, User{Name: "李四", Age: 30}, } b, err := json.Marshal(users) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } w.Header().Set("Content-Type", "application/json;charset=UTF-8") w.WriteHeader(http.StatusOK) w.Write(b) } func main() { http.HandleFunc("/users", getUsers) fmt.Println("啟動服務(wù)器,監(jiān)聽localhost:8080端口...") err := http.ListenAndServe(":8080", nil) if err != nil { panic(err) } }
在上面的代碼中,我們定義了一個User結(jié)構(gòu)體,包含Name和Age兩個字段。在getUsers函數(shù)中,我們創(chuàng)建了一個User類型的數(shù)組users,并使用json.Marshal函數(shù)將其轉(zhuǎn)換為JSON格式的數(shù)據(jù)。然后,我們設(shè)置響應(yīng)頭的Content-Type為application/json;charset=UTF-8,將狀態(tài)碼設(shè)置為http.StatusOK,最后將JSON數(shù)據(jù)寫入響應(yīng)體中。運行代碼后,在瀏覽器中輸入http://localhost:8080/users,即可查看JSON格式的數(shù)據(jù)。