我第一次尝试围棋。在过去一个小时左右的时间里,我一直不知道为什么这段代码不起作用。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 切片和range关键字的内容。有任何想法吗?
1 回答
呼如林
TA贡献1798条经验 获得超3个赞
row不是对中值的引用grid,而是切片值的副本。错误是因为您为 分配了一个新切片row,但从未使用过该值。
这更有可能是您想要的:
http://play.golang.org/p/86yHqw_JX-
grid := make([][]string, 2)
for i := range grid {
grid[i] = []string{"foo", "bar"}
}
fmt.Println(grid)
- 1 回答
- 0 关注
- 167 浏览
添加回答
举报
0/150
提交
取消