var a int
a, b := 1,2
像这样的赋值是允许的,但是当出现如下情况时:
var a int
for i:=0; i<3; i++ {
a, err := f()
}
// 在这里得不到for代码块里面的a
一不留神,坑就来了。for 代码块里面的a是for代码块的本地变量,而不是for代码库外面的全局变量
var a int
for i:=0; i<3; i++ {
var err error
a, b = f() // 此时a是全局变量
}
有疑问加站长微信联系(非本文作者)

这个跟for没关系啊 就算不用for也是一样的效果
是的,我只是写这个坑的时候,用的是for。