Go/マップ
表示
< Go
Go言語のmapは、キーと値のペアを格納するビルトイン型(事前に宣言された型)です。他の言語でいうハッシュテーブルや辞書に相当します。
基本的な特徴
[編集]mapは参照型で、キーを使って値を効率的に検索、挿入、削除できます。キーは比較可能な型(==と!=が使える型)である必要があります。
宣言と初期化
[編集]// 宣言のみ(ゼロ値はnil) var m map[string]int // make関数で初期化 m = make(map[string]int) // 宣言と初期化を同時に m := make(map[string]int) // リテラルで初期化 m := map[string]int{ "apple": 100, "banana": 200, }
基本操作
[編集]// 値の設定 m["key"] = 42 // 値の取得 value := m["key"] // 存在確認付きの取得 if value, ok := m["key"]; ok { fmt.Println("値が存在します:", value) } // 削除 delete(m, "key") // 長さの取得 len(m)
重要なポイント
[編集]mapのゼロ値はnilで、nilのmapには書き込みできません- キーの順序は保証されません
- 同じキーに対して複数回書き込むと、最後の値で上書きされます
- 存在しないキーにアクセスすると、値型のゼロ値が返されます
mapは非常に効率的で、Go言語でよく使用される重要なデータ構造です。