英文:
Assign an array to struct fields in go
问题
我有一个包含8个布尔字段的结构体,还有一个包含8个布尔值的数组。
如何将每个数组值分配给结构体中对应的字段?
我知道可以使用s.f = a[n]
这样的方式,但如果字段更多呢?
英文:
I have a struct with 8 fields of bool, and an array with 8 boolean values.
How can I assign each array value to corresponding field in struct?
I knew I can use s.f = a[n]
, but what if there are more fields?
答案1
得分: 1
var y = []bool{true, false, true}
var x struct{ X, Y, Z bool }
v := reflect.ValueOf(&x).Elem()
for i := 0; i < v.NumField(); i++ {
v.Field(i).SetBool(y[i])
}
fmt.Println(x) // 输出 {true, false, true}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论