Go 中的 nil 和零值
· 阅读需 1 分钟
nil 的作用和适用类型
Go 语言中,nil
是特定类型的零值,主要用于表示引用类型的未初始化状态
类型 | 说明 |
---|---|
指针 | 指向 nil 表示没有指向任何对象。 |
切片 | 切片为 nil 表示它没有分配任何底层数组。 |
映射 | 映射为 nil 表示它没有分配内存空间。 |
通道 | 通道为 nil 表示它未被初始化。 |
函数 | 函数为 nil 表示没有关联的实现代码。 |
接口 | 接口为 nil 表示它没有指向任何实现该接口的值。 |
基本数据类型的零值
与引用类型不同,基本数据类型和结构体的零值是按类型直接初始化的具体值,并不使用 nil
类型 | 零值 |
---|---|
整数 (int) | 0 |
浮点数 (float64) | 0.0 |
布尔 (bool) | false |
字符串 (string) | "" (空字符串) |
结构体 (struct) | 结构体中的每个字段都被初始化为其类型的零值 |