Ligeramente fuera de tema, también puede usar for _ := range m {}, sin necesidad de dos argumentos allí.
Elazar Leibovich
1
Por cierto, ambos for _, _ := range m {...}y for _ := range m {}no compilarán b / c del :=, que no se puede usar con _solo LHS. =debe utilizarse en estos casos.
len(s) stringtypestring length in bytes
[n]T, *[n]T array length (== n)
[]T slice length
map[K]T map length (number of defined keys)
chan T number of elements queued in channel buffer
Aquí hay un par de ejemplos transferidos de la documentación SO ahora retirada:
for _ := range m {}
, sin necesidad de dos argumentos allí.for _, _ := range m {...}
yfor _ := range m {}
no compilarán b / c del:=
, que no se puede usar con_
solo LHS.=
debe utilizarse en estos casos.Respuestas:
Utilice
len(m)
. De http://golang.org/ref/spec#Length_and_capacitylen(s) string type string length in bytes [n]T, *[n]T array length (== n) []T slice length map[K]T map length (number of defined keys) chan T number of elements queued in channel buffer
Aquí hay un par de ejemplos transferidos de la documentación SO ahora retirada:
m := map[string]int{} len(m) // 0 m["foo"] = 1 len(m) // 1
Si una variable apunta a un
nil
mapa,len
devuelve 0.var m map[string]int len(m) // 0
fuente