我不太明白为什么a最后不是2:
func main (){
z := 4
if true {
z := 2
fmt.Println(z)
}
fmt.Println(z) // prints 4
}
Run Code Online (Sandbox Code Playgroud)
jma*_*ney 11
z正在变得阴影.更改:=到=,它会工作.
func main (){
z := 4
if true {
z = 2
fmt.Println(z)
}
fmt.Println(z) // prints 2
}
Run Code Online (Sandbox Code Playgroud)
if语句有自己的作用域,当你使用:=时声明了一个新变量并且遮蔽了旧变量.
| 归档时间: |
|
| 查看次数: |
629 次 |
| 最近记录: |