为了账号安全,请及时绑定邮箱和手机立即绑定

最初在 Python 中创建时,如何在 Go 中使用数据存储 GAE?

最初在 Python 中创建时,如何在 Go 中使用数据存储 GAE?

Go
呼如林 2021-11-01 17:33:22
我有一个"Items"用 Python 创建的数据存储类型,在此代码中不要q.Run()在 Go 中迭代数据(它的版本 2):type Items struct{    code string    date time.Time    name string}func getcode(w http.ResponseWriter, r *http.Request) {    code := mux.Vars(r)["code"]    fmt.Fprintf(w,"get code %v",code)    c := appengine.NewContext(r)    q := datastore.NewQuery("Items")    for t := q.Run(c); ; {        var x Items        key, err := t.Next(&x)        fmt.Fprintf(w,"%v",key)        if err == datastore.Done {            break        }        if err != nil {            //serveError(c, w, err)            return        }        fmt.Fprintf(w, "Code=%v\n", x.code)    }
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

从数据存储区读取实体时,数据存储区包使用反射来填充结构体字段。在 Go 中,名称以小写字母开头的结构字段不会被导出。无法从定义它们的包以外的包中设置未导出的字段。


只有导出的字段(以大写字母开头)才能存储在数据存储中/从数据存储中检索。您可以使用标签来判断数据存储中的属性名称是什么,以防它与字段名称不同。因此,您必须将Items结构更改为:


type Items struct {

    Code string    `datastore:"code"`

    Date time.Time `datastore:"date"`

    Name string    `datastore:"name"`

}


查看完整回答
反对 回复 2021-11-01
  • 1 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信