登录
首页 >  Golang >  Go问答

在Go中将数组分配给结构体字段

来源:stackoverflow

时间:2024-02-08 19:39:18 474浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《在Go中将数组分配给结构体字段》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我有一个包含 8 个布尔字段的结构,以及一个包含 8 个布尔值的数组。

如何将每个数组值分配给结构中的相应字段?

我知道我可以使用 s.f = a[n],但是如果有更多字段怎么办?


正确答案


您可以使用 reflect 包来设置 exported 字段:

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) // prints {true, false, true}

以上就是《在Go中将数组分配给结构体字段》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>