基本零值

Go 中的变量总是初始化,无论你是否给它们一个起始值。如果没有给出值,则每种类型(包括自定义类型)都将设置为零值。

var myString string      // "" - an empty string
var myInt int64          // 0 - applies to all types of int and uint
var myFloat float64      // 0.0 - applies to all types of float and complex
var myBool bool          // false
var myPointer *string    // nil
var myInter interface{}  // nil

这也适用于地图,切片,通道和函数类型。这些类型将初始化为 nil。在数组中,每个元素被初始化为其相应类型的零值。