我正在使用 Go 創(chuàng)建一個嵌套結(jié)構(gòu)并填充它。我在結(jié)構(gòu)中有一個需要自己設置的自定義字段,但它是在外部結(jié)構(gòu)的字段中使用的類型。例如: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"`}我創(chuàng)建了一個嵌套結(jié)構(gòu)。我想KitStatus在程序中使用 Case 結(jié)構(gòu)更新字段。這意味著如果我從中訪問 Case 結(jié)構(gòu),我如何移動到Kit_Details結(jié)構(gòu)并更新結(jié)構(gòu)的字段。有人可以幫助我如何循環(huán)使用 Case 結(jié)構(gòu)的字段FieldByName("KitStatus")并使用它SetString("New value")來更新該字段的值。
1 回答

小唯快跑啊
TA貢獻1863條經(jīng)驗 獲得超2個贊
你可以這樣使用:
v := reflect.ValueOf(test)
fmt.Println("Value of test before update", v)
v.FieldByName("Kit_Details").Index(0).FieldByName("KitStatus").SetString("abcdsdf")
您可以使用循環(huán)遍歷所有元素并使用 更新它們Index()。
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消