变量

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语言的推导声明写法,编译器会自动根据右值类型推断出左值的对应类型。

匿名变量——没有名字的变量

在使用多重赋值时,如果不需要在左值中接收变量,可以使用匿名变量。匿名变量的表现是一个“_”下画线,使用匿名变量时,只需要在变量声明的地方使用下画线替换即可。

匿名变量不占用命名空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。

在Lua等编程语言里,匿名变量也被叫做哑元变量。

最后更新于