我说
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}
的内容。我做错了什么?
注意:我使用的是开发应用服务器。
最佳答案
您必须导出您希望在包外可见的名称。要实现这一点,您必须使用任何 Unicode 大写字母类(ASCII 大写字母是一个子集)作为它的首字母,例如Date
而不是 date
,Name
而不是 name
,等等
否则 datastore.Put
无法“看到”(使用反射)字段。
关于google-app-engine - 为什么我的存储实体使用默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103571/