我说
data := Thing {
date: time.Now().UnixNano()
name: "foo",
value: 5,
}
_, err := datastore.Put(c, datastore.NewIncompleteKey(c, "stuff", nil), &data)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
存储的内容是{0, "", 0}
。我希望看到像{1366370653722376000, "foo", 5}
这样的东西。我做错了什么?
注意:我使用的是dev appserver。
答案 0 :(得分:7)
您必须导出要在包外显示的名称。要实现这一点,您必须使用任何Unicode大写字母(ASCII大写字母是子集)作为其第一个字母,例如Date
代替date
,Name
代替name
等。
如果不这样,datastore.Put
就无法“看到”(使用反射)字段。