Go语言变量声明与初始化
变量声明有多种形式,未初始化的标准格式如下所示。
初始化变量的标准格式如下所示:
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
var 变量名 变量类型
定义一个变量名为 a 的 int 类型变量,示例代码如下:var a int
批量声明未初始化的变量,不需要每行都通过 var 关键字声明,具体语法格式如下所示。
var (
a int
b string
c []float32
d func() bool
e struct{
x int
y string
}
)
- 整型和浮点型变量默认值为 0;
- 字符串默认值为空字符串;
- 布尔型默认值为 false;
- 函数、指针变量、切片默认值为 nil。
初始化变量的标准格式如下所示:
var 变量名 变量类型 = 表达式
初始化变量也可以省略变量类型,让编译器自动推断变量类型,如下所示:var 变量名 = 表达式
初始化变量的简短声明格式(短变量声明格式)如下所示:变量名 := 表达式
分别使用以上三种方式定义一个变量,并初始化为 10,示例代码如下:
var a int = 10 // 初始化变量的标准格式
var b = 10 // 初始化变量的编译器自动推断类型格式
var c := 10 // 初始化变量的简短声明格式
:=
赋值操作符可以高效地创建一个新的变量,称为初始化声明。声明语句省略了 var 关键字,变量类型将由编译器自动推断。这是声明变量的首选形式,但是它只能被用在函数体内,而不可以用于全局变量的声明与赋值。该变量名必须是没有定义过的变量,若定义过,将发生编译错误。
var a = 10
a := 20 // 重复定义变量 a
no new variables on left side of :=
多个短变量声明和赋值中,至少有一个新声明的变量出现在左侧,那么即便其他变量名可能是重复声明的,编译器也不会报错。情况如下所示。
var a = 10
a, b := 100, 200
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。