【Golang】代码检查

Posted by 西维蜀黍 on 2020-07-06, Last Modified on 2021-09-23

易犯错误

幽灵变量(shadowed variables)

如果你在新的代码块中像下边这样误用了 :=,编译不会报错,但是变量不会按你的预期工作:

func main() {
	x := 1
	println(x)		// 1
	{
		println(x)	// 1
		x := 2
		println(x)	// 2	// 新的 x 变量的作用域只在代码块内部
	}
	println(x)		// 1
}

Solution: go-nyet