猿问

获取已知结构字段的名称

我有一个表示数据库中对象的结构,如下所示:


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 会很好,但它似乎需要通过硬编码字符串的字段名称,或者字段在结构中的索引(可能会更改)。


潇湘沐
浏览 175回答 2
2回答
随时随地看视频慕课网APP

相关分类

Go
我要回答