在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

}

这种代码就会出现错误

所以需要注意局部变量声明后的使用。

发表评论

邮箱地址不会被公开。 必填项已用*标注