When the following code:
if map == nil { log.Fatal("map is empty") }
is run, the log statement is not executed, while fmt.Println(map)
indicates that the map is empty:
map[]
Using len() function We can use the len() function to check the length of the map, if the length is 0 then the map is empty otherwise, it is not.
A nil map is equivalent to an empty map except that elements can't be added. The len function returns the size of a map, which is the number of key-value pairs.
A map maps keys to values. The zero value of a map is nil . A nil map has no keys, nor can keys be added.
You can use len
:
if len(map) == 0 { .... }
From https://golang.org/ref/spec#Length_and_capacity
len(s) map[K]T map length (number of defined keys)
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With