Go 语言定义变量的关键字是var
var variableName variableType
Go语言变量定义的变量名不需要 手动进行初始化,运行时内存分配操作会确保变量自动初始化为二进制零值(zero value)
例如:
var a int // a 此时为0
var s string // s 此时为''
var isb bool // isb 此时为false
如果我们定义变量的时候手动进行初始化,此时无需声明变量类型,编译器会自动推断。
例如:
var a = 7 //此时a为int类型
var s = "abc" // 此时s为string类型
当需要一次定义多个变量时,可以采用以下方式:
var (
a = 8
b = 9
c = true
)
同时对多个变量定义并赋值
Go 语言可以一次对多个变量进行定义 并赋值
var a, b int = 5,9 //此时 a = 5 , b = 9 ,a,b均为int类型
var a,b,c = 7,"nmkhs",false // 此时 a 是int类型,b 是string类型,c是bool类型。
多变量赋值的时候,首先计算出所有右边的值,然后再依次对左边的值进行赋值。
a, b := 6, 8
a, b = b+9, a+8
fmt.Println(a, b) //17 14
简化定义
除了用var关键字之外,我们也可以简写为:
a := 9
但是简写模式的定义需要满足一下特点:
1.进行显示初始化。
2.不可以声明变量类型。
3.只能在函数内定义。
ps:定义时,使用var和简写的区别:
var可以在包内定义,也可以在函数内定义,但是 简写定义只可以应用在函数内。
未使用变量报错
在Go语言中,不可以存在不使用的变量,否则会报出错误。
*** declared but not used