变量
变量,计算机语言能存储计算结果或表示值的抽象概念。可以通过变量名访问,变量名由字母、数字、下划线组成,其中首个字符不能为数字
var 声明语句可以创建一个特定类型的变量,然后给变量附加一个名字,并且设置变量的初始值。变量声明的一般语法如下:
var 变量名字 类型 = 表达式
-
其中”类型”或“=表达式”两个部门可以省略其中的一个。
-
如果省略类型信息,那么将根据初始化表达式推导变量的类型信息。
-
如果初始化表达式被省略,那么将用零值初始化该变量。
- 数值类型变量对应零值是0;
- 布尔类型变量对应零值是false;
- 字符串类型对应的零值是空字符串;
- 接口或引用类型(包含slice、指针、map、chan和函数)变量对应的零值是nil。
- 数组或结构体等聚合类型对应的零值是每个元素或字段都是对应该类型的零值。
零值初始化机制可以确保每个声明的变量总是有一个良好定义的值,因此在 Go 语言中不存在未初始化的变量。
var s string fmt.Print(s) // "" var i, j, k int // int, int, int, int var b, f, s = true, 2.3, "four" // bool, float64, string
一组变量也可以通过调用一个函数,由函数返回的多个返回值初始化:
var f, err = os.Open(name) // os.Open returns a file and an error
简短变量声明
在函数内部,有一种称为简短变量声明语句的形式可用于声明和初始化局部变量。它以 “名字 := 表达式” 形式声明变量,变量的类型根据表达式来自动推导。
anim := gif.GIF{ LoopCount: nframes} freq := rand.Float64(