go04 变量和作用域
变量的作用域
当变量被声明以后,它就进入了作用域(变量就变得可见了)。
只要变量在作用域内,你就可以访问它
否则,访问它会报错的
变量声明的位置,决定了它的作用域。
作用域的好处:
可以在不同的作用域内使用相同的变量名
在 Go 里面,作用域的范围就是 { } 之间的部分 。
看下面这个例子:
count 变量就是在 function 作用域内
num 的作用域就是 for 的循环体
短声明
在 Go 里,可以使用 var 来声明变量:
var count = 10
但是也可以使用短声明:
count := 10
这两种方式的效果是一样的。
不仅声明语句更短,而且可以在无法使用 var 的地方使用。
例 1:在 for 循环中的使用
例 2:在 if 中的使用
例 3:在 switch 中的使用
package 作用域
era 变量是在 main 函数外声明的。
- 它拥有 package 作用域
- 如果 main package 有多个函数,那么 era 对它们都可见
短声明不可用来声明 package 作用域的变量