Légèrement hors sujet, vous pouvez également utiliser for _ := range m {}, pas besoin de deux arguments ici.
Elazar Leibovich
1
BTW, à la fois for _, _ := range m {...}et for _ := range m {}ne compilera pas b / c du :=, qui ne peut pas être utilisé avec _seulement LHS. =doit être utilisé dans ce cas à la place.
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
Voici quelques exemples portés à partir de la documentation SO maintenant retirée:
for _ := range m {}
, pas besoin de deux arguments ici.for _, _ := range m {...}
etfor _ := range m {}
ne compilera pas b / c du:=
, qui ne peut pas être utilisé avec_
seulement LHS.=
doit être utilisé dans ce cas à la place.Réponses:
Utilisez
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
Voici quelques exemples portés à partir de la documentation SO maintenant retirée:
m := map[string]int{} len(m) // 0 m["foo"] = 1 len(m) // 1
Si une variable pointe vers une
nil
carte,len
renvoie 0.var m map[string]int len(m) // 0
la source