我已经尝试了
if map == nil {
log.Fatal("map is empty")
}
但是没有执行日志语句。
我使用fmt.Println(map)
打印地图,人们可以看到它是空的:
map[]
如何测试空地图?
答案 0 :(得分:78)
您可以使用len
:
if len(map) == 0 {
....
}
来自https://golang.org/ref/spec#Length_and_capacity
len(s)map [K] T map length(已定义键的数量)
答案 1 :(得分:0)
下面的示例演示了nil检查和长度检查,可用于检查映射是否为空
package main
import (
"fmt"
)
func main() {
a := new(map[int64]string)
if *a == nil {
fmt.Println("empty")
}
fmt.Println(len(*a))
}
打印
empty
0