1. ホーム
  2. map

[解決済み] Goマップのアイテムを数えるには?

2022-12-21 04:53:09

質問

マップ構造の項目を数える場合、どのようなステートメントを使用すればよいのでしょうか。 私は、以下のものを使おうとしました。

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

より抜粋 マップ - マップ要素をカウントする . 原著者は Simone Carletti . 帰属の詳細は 投稿者ページ . ソースは以下のライセンスで提供されています。 CC BY-SA 3.0 でライセンスされており ドキュメント・アーカイブ . 参照トピックID: 732、例ID: 2528。