为什么我存储的实体使用默认值?

我正在说


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


注意:我正在使用开发应用服务器。


牧羊人nacy
浏览 177回答 1
1回答

冉冉说

您必须导出您希望在包外可见的名称。要实现这一点,您必须使用任何 Unicode 大写类(其中 ASCII 大写字母是子集)作为其首字母,例如Date代替date、Name代替name等。没有那个datastore.Put就不能“看到”(使用反射)字段。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go