2.1.2 变量声明与赋值

Go语言中声明变量有多种形式,未初始化的标准格式如下所示。

定义一个变量名为a的int型变量,示例如下。

还可以使用批量的方式定义变量,该方式不需要每行都使用var关键字进行声明,具体语法格式如下所示。

未初始化变量的默认值见表2.1。

表2.1 未初始化变量的默认值

初始化变量的标准格式如下所示。

初始化变量的编译器自动推断类型格式如下所示。

初始化变量的简短声明格式(短变量声明格式)如下所示。

分别使用以上三种方式定义一个名为a的变量,并初始化为25,具体代码示例如下所示。

使用“:=”赋值操作符可以高效地创建一个新的变量,这种声明方式称为初始化声明。该声明方式省略了var关键字,变量类型将由编译器自动推断。初始化声明是声明变量的首选形式,但是它只能用在函数体内,不能用于全局变量的声明与赋值。该声明方式的变量名必须是没有被定义过的变量,若定义过,将发生编译错误。

编译报错如下所示。

需要注意的是,使用多个短变量声明和赋值时,如果至少有一个新声明的变量出现在左侧,那么即便有其他变量名可能是重复声明的,编译器也不会报错。情况如下所示。

虽然这种方法不会报错,但还是建议尽量避免这种用法。