我想编写一个将不同结构类型作为 1 个参数的函数。另外,我必须确定,在这些结构中是一个Id字段。所以我想要这样的功能:
MyFunction(object *struct{ Id int })
我尝试将结构作为*struct{ Id int }参数传递interface{}。
例如,我有这两种结构类型:
type TableOne struct {
Id int
name string
date string
}
type TableTwo struct {
Id int
address string
athome bool
}
要将它们保存在数据库中(使用reflection),我有以下功能:
func SaveMyTables(tablename string, obj *struct{ Id int }) {
// ... Some code here
if obj.Id != 0 {
// ... Some code here
}
// ... Some code here
}
我这样调用函数:
obj := &TableTwo{
Id: 5
address: "some address"
athome: false
}
myPackage.Save("addresses", obj).
但我收到此错误:
不能在 myPackage.Save 的参数中使用 obj(类型 *mytables.TableTwo)作为类型 *struct { Id int }
不负相思意
相关分类