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
}
在多個變量同時聲明的時候,重新定義是被允許的,前提是其中至少有一個變量已經聲明過了,這種設計并不太容易被理解,至少于我而言是這樣。