1
我正在嘗試使用GAE學習。 我創建了2個處理程序。一個用於將對象保存到數據存儲區,另一個用於檢索並輸出到屏幕。問題是,當我從數據存儲檢索UserAccount對象時,對象內的每個值都消失了。與GAE一起將一個對象保存到數據存儲區。當它恢復時,對象有空成員
任何幫助將不勝感激。
輸出:
a/c count: 2 val: core.UserAccount{idString:"", deviceId:""} val: core.UserAccount{idString:"", deviceId:""}
type UserAccount struct {
idString string
deviceId string
}
func create_account(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
idstr := "ABCDEFGH"
devId := r.FormValue("deviceId")
newAccount := UserAccount{ idString: idstr, deviceId: devId,}
key := datastore.NewIncompleteKey(c, "UserAccount", nil)
_, err := datastore.Put(c, key, &newAccount)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Fprintf(w, "val: %#v \n", newAccount)
}
func get_info(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
q := datastore.NewQuery("UserAccount")
accounts := make([]UserAccount, 0, 10)
if _, err := q.GetAll(c, &accounts); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
fmt.Fprintf(w, "a/c count: %v \n", len(accounts))
for i := 0; i < len(accounts); i++ {
fmt.Fprintf(w, "val: %#v \n", accounts[i])
}
}
謝謝,它的工作原理。我剛剛瞭解到var name以大寫字母開頭會將變量標記爲導出的值。 XD – Nick
謝謝!希望他們在教程中提到過! – Timmmm