为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用反射设置嵌套结构体字段值

如何使用反射设置嵌套结构体字段值

Go
GCT1015 2023-07-31 16:22:40
我正在使用 Go 创建一个嵌套结构并填充它。我在结构中有一个需要自己设置的自定义字段,但它是在外部结构的字段中使用的类型。例如:type Case struct {   CaseID            string         `json:"caseID"`   CaseStatus        string         `json:"caseStatus"`   Kit_Details       []Kit_Details  `json:"kit_Details"`}type Kit_Details struct {    KitID          string    `json:"kitID"`    KitStatus      string    `json:"kitStatus"`}我创建了一个嵌套结构。我想KitStatus在程序中使用 Case 结构更新字段。这意味着如果我从中访问 Case 结构,我如何移动到Kit_Details结构并更新结构的字段。有人可以帮助我如何循环使用 Case 结构的字段FieldByName("KitStatus")并使用它SetString("New value")来更新该字段的值。
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

你可以这样使用:


v := reflect.ValueOf(test)

fmt.Println("Value of test before update", v)

v.FieldByName("Kit_Details").Index(0).FieldByName("KitStatus").SetString("abcdsdf")

您可以使用循环遍历所有元素并使用 更新它们Index()。

查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 58 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信