Go 变量和零值,在Go语言中,声明变量时如果没有给它指定值,则变量将为默认值,这种默认值被称为零值。这不同于其他语言,因为在这些语言中,未赋值的变量的值为nil或undefined。如下代码演示了变量的默认值。变量的默认值取决于其类型。

输出结果:

使用变量时,知道Go语言的这种设计决策很重要。不久后,您就可能需要检查变量是否赋值了。注意,在Go语言中,为确定变量是否已经赋值,不能检查它是否为nil,而必须检查它是否为默认值。由于类型string的零值为” “,因此对于类型为string的变量,要确定是否已经给它赋值,可检查其值是否为零值” “,如下所示。

Go禁止将变量初始化为nil值,因为这样做将导致编译阶段错误。