我有下面的接口,它为我的持久层实现了一个更简单的 Active Record Like 实现。
type DBInterface interface {
FindAll(collection []byte) map[string]string
FindOne(collection []byte, id int) map[string]string
Destroy(collection []byte, id int) bool
Update(collection []byte, obj map[string]string ) map[string]string
Create(collection []byte, obj map[string]string) map[string]string
}
该应用程序具有不同的与之对话的集合以及不同的相应模型。我需要能够传入动态 Struct ,而不是值 obj 的映射(即更新,创建签名)
我似乎无法理解如何使用反射来解决 Struct ,任何指导都会有所帮助。
关于我正在尝试解释的更多详细信息:
考虑以下来自https://labix.org/mgo 的mgo 示例的片段
err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
&Person{"Cla", "+55 53 8402 8510"})
当我们向集合中插入数据时,我们做了一个 &Person 我希望能够传入这个位 &Person{"Ale", "+55 53 8116 9639"} 但接收 的方法只会在运行时知道它。因为它可能是 Person 、 Car 、 Book 等结构,具体取决于调用该方法的 func
拉风的咖菲猫
相关分类