我有一个表示数据库中对象的结构,例如:
type Object struct {
Id string
Field1 string
Field2 int
}
而且我希望有一个函数可以在修改字段时更新数据库中的特定字段,类似于以下内容:
func (self *Object) SetField1(value string) {
self.Field1 = value
database.Update(self.Id, "Field1", self.Field1) // pseudocode
}
有没有办法替换"Field1"
硬编码的字符串,以便我的代码能够抵抗结构字段排序和命名的未来变化?
我已经浏览了反射包,如果能够获得代表我正在使用的字段的 StructField 会很好,但它似乎需要通过硬编码字符串的字段名称,或者结构中字段的索引(可能会更改)。