gpt4 book ai didi

go - Go 中的 range 关键字和 2d slice

转载 作者:IT王子 更新时间:2023-10-29 01:49:41 24 4
gpt4 key购买 nike

我第一次尝试使用 Go。在过去的一个多小时里,我一直不知道为什么这段代码不起作用。

grid := make([][]string, 2)
for _, row := range grid {
row = []string{"foo", "bar"}
}
fmt.Println(grid)

我希望它打印出类似的东西

[
["foo", "bar"]
["foo", "bar"]
]

但是它拒绝编译并显示消息 row declared and not used

很明显,我遗漏了一些关于 2d slice 和 range 关键字的内容。有什么想法吗?

最佳答案

row 不是对 grid 中值的引用,它是 slice 值的副本。该错误是因为您为 row 分配了一个新 slice ,但从未使用过该值。

这更有可能是您想要的:

http://play.golang.org/p/86yHqw_JX-

grid := make([][]string, 2)
for i := range grid {
grid[i] = []string{"foo", "bar"}
}
fmt.Println(grid)

关于go - Go 中的 range 关键字和 2d slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33488126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com