将接口{}转换为特定类型

我正在尝试创建一个用于保存到数据存储的通用函数。以下两个示例中的第二个有效,但第一个给了我“数据存储:无效实体类型”错误。


我目前对围棋一无所知,但试图减少我的无知。有没有办法将第一个示例中的对象转换为名称保存在字符串中的类型。例如某种反射。我尝试过reflect.ValueOf,但失败了。


提前致谢


示例 1:


func save(kind string, c.appengine.Context, object interface{}) {

    k := datastore.NewKey(c, kind, "some_key", 0, nil)

    _, err := datastore.Put(c, k, &object)

}

save("MyType", c, someMyTypeObject)

示例2:


func save(kind string, c.appengine.Context, object MyType) {

    k := datastore.NewKey(c, kind, "some_key", 0, nil)

    _, err := datastore.Put(c, k, &object)

}

save("MyType", c, someMyTypeObject)


慕妹3146593
浏览 163回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go