对于不同的Go类型,什么是零值(没有显式初始化的默认值)?

时间:2015-01-10 14:28:28

标签: go

Go为没有显式初始化声明的变量提供默认值或零值。内置类型的零值有什么不同?

1 个答案:

答案 0 :(得分:1)

  • 布尔值: false
  • 整数:0
  • 花车:0.0
  • 字符串:“”
  • 指针:零
  • 职能:nil
  • 接口:nil
  • 切片:nil
  • 频道:nil
  • 地图:nil

这是递归完成的,因此数组和结构(以及结构数组等)的未初始化值将设置为上述零值。

当使用 new make 为变量分配存储空间时,这也适用。

来源:http://golang.org/ref/spec#The_zero_value