我有一堆非常相似的结构(在示例中为A和B),我想在某个函数(在示例中为--reload
)中处理其实例,然后将其插入我的数据库中。我以为可以用空接口来解决这个问题,但是当我收到错误消息时,这似乎不是解决方案:
pserve production.ini
我试图创建一些最小但可执行的示例:
f()
什么是正确的方法?在C ++中,我只是使用模板;)
答案 0 :(得分:1)
如果您要像f(&a)
这样呼叫func。您应该在func f
内部调用dbmap.Insert(i)
,因为您的值已经是一个指针。因此,您的func
看起来像
func f(i interface{}) {
fmt.Printf("i: %v %T\n", i, i)
err := dbmap.Insert(i)
checkErr(err, "Insert i")
}