我正在使用 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()。
- 1 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消