【发布时间】:2019-10-29 13:04:32
【问题描述】:
我正在使用 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"`
}
我创建了一个嵌套结构。我想在我的程序中使用 Case 结构更新KitStatus 字段。意味着如果我从中访问 Case 结构,我如何移动到Kit_Details 结构并更新结构的字段。
有人可以帮助我如何使用 FieldByName("KitStatus") 循环遍历 Case 结构的字段并使用 SetString("New value") 更新该字段的值。
【问题讨论】:
-
如果类型已知,为什么还需要反射?
-
Kit_Details字段是一个切片,您可以使用golang.org/pkg/reflect/#Value.Len 和golang.org/pkg/reflect/#Value.Index 循环遍历切片的元素。