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 函数内部才能访问。
初始值
变量申明可以带初始值,一个变量一个。 在初始值存在的情况下,类型可以忽略;变量则继承初始值的类型。
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 变量申明语句, 变量类型也可以省略,这就是 简式申明 。
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 等), := 语句不可用。
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。
- 赞助本站
- 微信扫一扫
-
- 加入Q群
- QQ扫一扫
-
评论