我想循环遍历结构体切片,并通过将每个结构体传递给函数来填充结构体字段(这是一个映射)。
我有以下结构
type thing struct {
topicThing map[string]int
}
Run Code Online (Sandbox Code Playgroud)
我有以下功能
func main() {
ths := make([]thing, 0)
for i := 0; i < 10; i++ {
var th thing
ths = append(ths, th)
}
for _, th := range ths {
dothing(&th)
}
for _, th := range ths {
fmt.Println(th.topicThing)
}
}
func dothing(th *thing) {
tc := make(map[string]int)
tc["Hello"] = 1
tc["Bye"] = 2
th.topicThing = tc
}
Run Code Online (Sandbox Code Playgroud)
main 函数创建一个事物切片(称为 ths),并通过迭代将每个事物传递给 dothing() 函数。在 dothing() 中,我创建一个新映射,用数据填充它,并将其分配给传入事物的属性。然而,当我们在主函数中迭代 ths 来打印每个事物的 topicThing …
go ×1