マップ構造内のアイテムをカウントする場合、どのステートメントを使用する必要がありますか?使ってみました
for _, _ := range m {...}
しかし、構文が間違っているようです。
回答:
を使用しlen(m)
ます。http://golang.org/ref/spec#Length_and_capacityから
len(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
これは、現在廃止されているSOドキュメントから移植されたいくつかの例です。
m := map[string]int{}
len(m) // 0
m["foo"] = 1
len(m) // 1
変数がnil
マップを指している場合、len
0を返します。
var m map[string]int
len(m) // 0
マップからの抜粋-マップ要素のカウント。原作者はSimoneCarlettiでした。アトリビューションの詳細は、コントリビューターページにあります。ソースはCCBY-SA 3.0でライセンスされており、ドキュメントアーカイブにあります。参照トピックID:732およびサンプルID:2528。
for _ := range m {}
。2つの引数は必要ありません。