Go 变量和零值,在Go语言中,声明变量时如果没有给它指定值,则变量将为默认值,这种默认值被称为零值。这不同于其他语言,因为在这些语言中,未赋值的变量的值为nil或undefined。如下代码演示了变量的默认值。变量的默认值取决于其类型。
package main
import (
"fmt"
)
func main() {
var i int
var b bool
var s string
fmt.Printf("%v %v %q\n", i, b, s)
}
输出结果:
使用变量时,知道Go语言的这种设计决策很重要。不久后,您就可能需要检查变量是否赋值了。注意,在Go语言中,为确定变量是否已经赋值,不能检查它是否为nil,而必须检查它是否为默认值。由于类型string的零值为” “,因此对于类型为string的变量,要确定是否已经给它赋值,可检查其值是否为零值” “,如下所示。
package main
import (
"fmt"
)
func main() {
var s string
if s == "" {
fmt.Printf("s has not been assigned a value and is zero valued")
}
}
输出结果:
Go禁止将变量初始化为nil值,因为这样做将导致编译阶段错误。
酷客教程相关文章:
评论前必须登录!
注册