Go变量的作用域局部变量和全局变量
package main import "fmt" func main(){ var a int = 0 fmt.Println("for start") for a:=0; a < 10; a++ { fmt.Println(a) } fmt.Println("for end") fmt.Println(a) }
输出为:
for start 0 1 2 3 4 5 6 7 8 9 for end 0
在 for 循环的 initialize(a:=0) 中,此时 initialize 中的 a 与外层的 a 不是同一个变量,initialize 中的 a 为 for 循环中的局部变量,因此在执行完 for 循环后,输出 a 的值仍然为 0。
package main import "fmt" func main(){ var a int = 0 fmt.Println("for start") for a = 0; a < 10; a++ { fmt.Println(a) } fmt.Println("for end") fmt.Println(a) }
输出为:
for start 0 1 2 3 4 5 6 7 8 9 for end 10
此时 initialize 中的 a 便于外层的 a 为同一个变量,因此在执行完 for 循环后,输出 a 的值为 10。
所以大伙们在使用 for 循环的时候千万要注意呀。。。
版权声明:本文著作权归原作者所有,如有侵权,请联系我们立即删除!