十多年了,这个最容易犯错的 Go 语法终于要改了

鸟窝 at 
Go 语言中你最容易犯错的语法是什么?很多人可能都有不同的答案,但是最多的答案之一就是 for 循环中变量的使用问题了。即使是 Go 团队的开发者,我也曾看到他们提交的代码犯过这种错误,更不用说其他的 Go 开发者了,比如 this problem at Let’s Encrypt,几乎每个 Go 开发者都犯过这个错误,这种类型的错误已经在我的心里留下了阴影,每次写 for 循环我都心头一紧,经常使用局部变量 shade 一下循环变量,即使没有问题。Russ Cox 检查了 1.4 万个 go module,大约 1.2 万个 github 仓库,搜寻使用 x := x 这种技巧来解决循环变量……