Go 变量和零值

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语言的这种设计决策很重要。不久后,您就可能需要检查变量是否赋值了。注意,在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 变量和零值

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

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!