マップ構造内の項目を数えたい場合、どのステートメントを使用すればよいですか? 使ってみた
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
Maps - Counting map elementsから抜粋。原作者はシモーネ・カルレッティ。帰属の詳細は寄稿者ページで確認できます。ソースはCC BY-SA 3.0 の下でライセンスされており、ドキュメンテーション アーカイブで見つけることができます。参照トピック ID: 732 およびサンプル ID: 2528。