Go变量的作用域 局部变量和全局变量

2019-02-22 10:42 评论 0 条 超级小编
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 循环的时候千万要注意呀。。。

版权声明:本文著作权归原作者所有,如有侵权,请联系我们立即删除!
来源:手动创建 分类:Golang 标签: