在Go语言中,判断变量是否为“空”(零值或未初始化状态)的方法总结
在Go语言中,判断变量是否为“空”(零值或未初始化状态)的方法因数据类型而异。以下是各类型变量的判断方法总结:
1. 基本类型
-
整数(
int
)
判断是否等于零值0
。var i int if i == 0 { // 空 }
-
字符串(
string
)
判断是否等于空字符串""
。var s string if s == "" { // 空 }
-
布尔(
bool
)
零值为false
,直接判断是否为false
。var b bool if !b { // 空 }
2. 引用类型
-
指针(
*T
)
判断是否为nil
。var p *int if p == nil { // 空 }
-
切片(
[]T
)
使用len() == 0
判断,无论切片是nil
还是空切片([]T{}
)。var s1 []int // nil切片 var s2 = []int{} // 空切片 if len(s1) == 0 { // 空 } if len(s2) == 0 { // 空 }
-
映射(
map[K]V
)
使用len() == 0
判断,即使映射已初始化但无元素。