先看有問題的代碼:
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)
}
短變量聲明方式,代碼運行也沒有問題,但這樣寫容易引起問題,變量名重復使用,容易引起歧意。
其它這也是見仁見智,代碼規范的問題。個人覺得只要使用得當,也沒有問題。