go语言陷阱第五弹!
package main
func main() {
one := 0
one := 1 //error
}
运行结果
./hello.go:5: no new variables on left side of :=
又是这个短变量的声明出了问题,函数体只有一个变量one,重新定义报错。
来看正确的写法:
package main
func main() {
one := 0
one, two := 1,2
one,two = two,one
}
在多个变量同时声明的时候,重新定义是被允许的,前提是其中至少有一个变量已经声明过了,这种设计并不太容易被理解,至少于我而言是这样。