为了账号安全,请及时绑定邮箱和手机立即绑定

Go 中的 range 关键字和二维切片

Go 中的 range 关键字和二维切片

Go
PIPIONE 2021-11-22 10:38:56
我第一次尝试围棋。在过去一个小时左右的时间里,我一直不知道为什么这段代码不起作用。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)


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信