3.2.3 零值

如果没有提供明确的初始化,变量或值将被赋予默认值。也就是说,Go中的所有变量和值都总是被显式或隐式地初始化为定义明确的值,而不像许多其他编程语言那样,可能没有初始化。

对于内置类型的变量,它们的“零值”是:

  • 布尔值为false

  • 数值类型为0

  • 字符串为""

  • 函数、接口、切片、通道和映射为nil。指针的零值也是nil

对于其他复合类型(例如数组和结构体),则递归地进行初始化。例如,如果没有指定值,则将数组的每个元素设置为“零”。

最后更新于