变量
var
语句 申明 ( declare
)变量列表;跟 函数 参数列表一样,类型在最后指定。
var
语句的作用域(可见范围)可以是 包级别 或者 函数级别 。下面这个例子同时包含这两种级别:
- package main
- import "fmt"
- var c, python, java bool
- func main() {
- var i int
- fmt.Println(i, c, python, java)
- }
作用域是啥意思呢?
以上述代码为例,变量 c
、 python
、 java
的作用域是 包级别 ,意味着包内任何函数都可以访问这些变量;定义在函数内部的 i
则是 函数级别 ,只有在 main
函数内部才能访问。
初始值
变量申明可以带初始值,一个变量一个。在初始值存在的情况下,类型可以忽略;变量则继承初始值的类型。
/_src/tour/variables-with-initializers.go
- package main
- import "fmt"
- var i, j int = 1, 2
- func main() {
- var c, python, java = true, false, "no!"
- fmt.Println(i, j, c, python, java)
- }
简式申明
在函数内部,可以用 :=
赋值语句代替 var
变量申明语句,变量类型也可以省略,这就是 简式申明 。
/_src/tour/short-variable-declarations.go
- package main
- import "fmt"
- func main() {
- var i, j int = 1, 2
- k := 3
- c, python, java := true, false, "no!"
- fmt.Println(i, j, k, c, python, java)
- }
在函数外部,每个语句都必须由一个关键字开始(如 var
、 func
等),:=
语句不可用。
下一步
订阅更新,获取更多学习资料,请关注我们的 微信公众号 :