我有一个表示数据库中对象的结构,如下所示:
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"硬编码的字符串,以使我的代码可以抵抗struct字段顺序和命名的将来更改?
我已经浏览了反射包,能够获得代表我正在使用的字段的 StructField 会很好,但它似乎需要通过硬编码字符串的字段名称,或者字段在结构中的索引(可能会更改)。
相关分类