Go 语言中类型的零值#
在 Go 中,当变量被声明但没有显式初始化时,会被赋予一个默认值,即零值。
- 数值类型的零值为
0; - 布尔类型的零值为
false; - 字符串类型的零值为
""; - 指针、函数、接口、
slice、channel和map的零值为nil; - 数组的零值是由其元素类型零值组成的数组,如
var arr [3]int的零值是[0 0 0]。
var emptyInt int
var emptyBool bool
var emptyStr string
fmt.Printf("Zero value for int: %d\n", emptyInt) // 0
fmt.Printf("Zero value for bool: %t\n", emptyBool) // false
fmt.Printf("Zero value for string: %q\n", emptyStr) // ""参考: