假设有一个外部库NotMyType
声明了type NotMyType struct {
NotMyField string
}
。
type MyType struct {
SomeData0 string `orm:"nullable"`
SomeData1 string `orm:"nullable"`
libA.NotMyType
}
并且您希望将其与您自己的类型嵌入,并将其与ORM一起使用,该ORM使用标记来调整列属性。
MyType.SomeData0
例如,列MyType.SomeData1
和NotMyField
为NULLABLE。
是否可以在不修改orm:"nullable"
的情况下使用NotMyType
标记{{1}}?
答案 0 :(得分:1)
编辑:错误答案,我的错误
Okep我想我明白了。我之前从未使用过反射,所以也许我错了。但是:
看看我刚才做的事情:
我有一个结构
type User struct {
name string
age int
}
没有标签。
我用
获得了这个字段field, ok := reflect.TypeOf(user).Elem().FieldByName("name")
if !ok {
panic("Field not found")
}
我用
设置了一个新标签//setStructTag(&field)
func setStructTag(f *reflect.StructField) {
f.Tag = "`json:name-field`"
}
希望我的研究人员会帮助你:)
答案 1 :(得分:0)
Go是内省的。 它具有内省(例如,find-class允许查看现有类)但没有代替(例如,ensure-class在运行时创建/修改类)。
所以你不能。