datastore.Put函数的文档说:
Put使用键k将实体src保存到数据存储中。src必须是结构指针或实现PropertyLoadSaver;如果是结构指针,则该结构的任何未导出字段都将被跳过。如果k是不完整的密钥,则返回的密钥将是由数据存储区生成的唯一密钥。
尝试将其与PropertyList一起使用时,这有些令人困惑
src。PropertyList不实现PropertyLoadSaver,但*
PropertyList实现。在PropertyList之前添加&以获得指向它的指针可修复此测试。
package bigdipperimport ( "testing" "appengine/aetest" "appengine/datastore")func TestCreateMigrationProposal(t *testing.T) { c, err := aetest.NewContext(nil) if err != nil { t.Fatal(err) } defer c.Close() if _, err := datastore.Put( c, datastore.NewKey(c, "ORDER", "order-id-1", 0, nil), &datastore.PropertyList{}); err != nil { t.Fatal(err) }}


