先看有问题的代码:
package main
import "fmt"
func main() {
x := 1
fmt.Println(x) //prints 1
{
fmt.Println(x) //prints 1
x := 2
fmt.Println(x) //prints 2
}
fmt.Println(x) //prints 1 (bad if you need 2)
}
短变量声明方式,代码运行也没有问题,但这样写容易引起问题,变量名重复使用,容易引起歧意。
其它这也是见仁见智,代码规范的问题。个人觉得只要使用得当,也没有问题。