英文:
How to check if a map is empty in Golang?
问题
当运行以下代码时:
m := make(map[string]string)
if m == nil {
log.Fatal("map is empty")
}
日志语句不会被执行,而fmt.Println(m)
表明该映射为空:
map[]
英文:
When the following code:
m := make(map[string]string)
if m == nil {
log.Fatal("map is empty")
}
is run, the log statement is not executed, while fmt.Println(m)
indicates that the map is empty:
map[]
答案1
得分: 205
你可以使用 len
函数:
if len(m) == 0 {
....
}
来源:https://golang.org/ref/spec#Length_and_capacity
> len(s) map[K]T map 的长度(定义的键的数量)
英文:
You can use len
:
if len(m) == 0 {
....
}
From https://golang.org/ref/spec#Length_and_capacity
> len(s) map[K]T map length (number of defined keys)
答案2
得分: 2
以下示例演示了用于检查地图是否为空的nil检查和长度检查。
package main
import (
"fmt"
)
func main() {
a := new(map[int64]string)
if *a == nil {
fmt.Println("empty")
}
fmt.Println(len(*a))
}
输出结果为:
empty
0
英文:
The following example demonstrates both the nil check and the length check that can be used for checking if a map is empty
package main
import (
"fmt"
)
func main() {
a := new(map[int64]string)
if *a == nil {
fmt.Println("empty")
}
fmt.Println(len(*a))
}
Prints
empty
0
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论