变量
Go语言的每一个变量都拥有自己的类型,必须经过声明才能开始用。
声明变量
以var关键字开头,要声明的变量名放在中间,而将其类型放在后面
var a int //整型类型的变量,可以保存整数数值
var b string //声明一个字符串类型的变量
var c []float32 //声明一个32位浮点切片类型的变量,浮点切片表示由多个浮点类型组成的数据结构
var d func() bool //声明一个返回值为布尔类型的函数变量
var e struct{ //声明一个结构体类型的变量
x int //这个结构体拥有一个整型的x字段
}标准格式
var 变量名 类型批量定义变量
var (
a int //整型类型的变量,可以保存整数数值
b string //声明一个字符串类型的变量
c []float32 //声明一个32位浮点切片类型的变量,浮点切片表示由多个浮点类型组成的数据结构
d func() bool //声明一个返回值为布尔类型的函数变量
e struct{ //声明一个结构体类型的变量
x int //这个结构体拥有一个整型的x字段
}
)初始化变量
Go语言在声明变量时,自动对变量对应的内存区域进行初始化操作。每个变量会初始化其类型的默认值
标准格式
编译器推导类型的格式
int省略后,编译器会尝试根据等号右边的表达式推导变量的类型
短变量声明并初始化
var的变量声明还有一种更为精简的写法。这是Go语言的推导声明写法,编译器会自动根据右值类型推断出左值的对应类型。
由于使用了“:=”,而不是赋值的“=”,因此推导声明写法的左值变量必须是没有定义过的变量。若定义过,将会发生编译错误。
匿名变量——没有名字的变量
在使用多重赋值时,如果不需要在左值中接收变量,可以使用匿名变量。匿名变量的表现是一个“_”下画线,使用匿名变量时,只需要在变量声明的地方使用下画线替换即可。
匿名变量不占用命名空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。
最后更新于