在Go中,如果想要声明一个变量,可以使用var关键字,其可以标注对应的类型,代码如下
var x int = 1
如果不声明对应的类型,那么这个变量会先使用默认字面量类型,也就是
var x = 1
由于这个1的默认类型是整形,故其也是整形
当然,同理。如果我声明了一个变量,但是没有赋值,那时候就会得到一个零值变量
var x,y int;
同样,上面证明了,我们还可以声明多个变量,乃至多个不同类型的变量
var (
x int
y = 29
z int = 30
f string = “hello”
)
除此外就是短声明格式,
:= 赋值运算符,比如如下代码
x := 10
同样可以赋值给多个变量
x,y := 10, “hello”
使用方式和上面类似,但是需要注意,这种短声明方式只能在函数内部使用,如果是在函数外使用是不合法的。
对于两种不同的声明方式,如何选择呢?
一般来说,如果希望初始化一个变量为零值,也就是不进行赋予值的话,那么最好是使用var x int
其次是希望标注某一个变量的变量类型,尤其是这个变量的字面值和预期类型有所偏差的时候。
而且Go语言强制要求标准的格式化
所以每一个局部变量,都需要在声明后被使用,不然会导致编译时报错。
就好比如下的代码必然会出错
func main(){
x := 10
fmt.Println(x)
x = 30
}
这种代码就会出现错误
所以需要注意局部变量声明后的使用。