マップ
マップは、キーと値のペアを格納するためのデータ構造で、キーを使ってデータの検索、更新、削除ができる。
Pythonの辞書やJavaのハッシュマップに似ている。
マップの作成
package main
import "fmt"
func main() {
// リテラルを使用する
m1 := map[string]int{
"foo": 1,
"bar": 2,
}
fmt.Println(m1) // map[bar:2 foo:1]
// `make`関数を使用する
m2 := make(map[string]int)
fmt.Println(m2) // map[]
}
マップの操作
package main
import "fmt"
func main() {
m := make(map[string]int)
// 追加
m["foo"] = 1
m["bar"] = 2
fmt.Println(m) // map[bar:2 foo:1]
// 更新
m["foo"] = 3
fmt.Println(m) // map[bar:2 foo:3]
// 取得
v1 := m["foo"]
fmt.Println(v1) // 3
// 存在の確認
v2, ok2 := m["bar"]
if ok2 {
// 存在する
fmt.Println(v2) // 2
} else {
// "bar"はマップに存在しない
}
// 削除
delete(m, "foo") // fooを削除
fmt.Println(m) // map[bar:2]
}
参考