go語(yǔ)言陷阱第五彈臣缀!
package main
func main() {
one := 0
one := 1 //error
}
運(yùn)行結(jié)果
./hello.go:5: no new variables on left side of :=
又是這個(gè)短變量的聲明出了問(wèn)題坝橡,函數(shù)體只有一個(gè)變量one,重新定義報(bào)錯(cuò)精置。
來(lái)看正確的寫(xiě)法:
package main
func main() {
one := 0
one, two := 1,2
one,two = two,one
}
在多個(gè)變量同時(shí)聲明的時(shí)候计寇,重新定義是被允許的,前提是其中至少有一個(gè)變量已經(jīng)聲明過(guò)了脂倦,這種設(shè)計(jì)并不太容易被理解番宁,至少于我而言是這樣。