2

我在说

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}。我究竟做错了什么?

注意:我使用的是开发应用服务器。

4

1 回答 1

7

您必须导出希望在包外可见的名称。要实现这一点,您必须使用任何 Unicode 大写字母类(其中 ASCII 大写字母是子集)作为其首字母,例如Date代替dateName代替name等。

没有那个datastore.Put就不能“看到”(使用反射)这些领域。

于 2013-04-19T11:32:56.673 回答