Go勉強中のgataponです。
参照型のMapについてアウトプットも兼ねて投稿します。
Map
PHPの連想配列と同じで、キー値
:要素値
の構造をしています。
Mapの生成
drink := map[int]string {
1: "coffee",
4: "tea",
8: "wine",
}
fmt.Println(drink)
// map[1:coffee 4:tea 8:wine]
fmt.Println(drink[4])
// tea
fmt.Println(drink[2])
// ""
// 出力される
要素を追加と削除
要素の追加は変数[指数]
を指定して追加。
:=
は変数宣言の時なので必要ない。
既にキー値
がある場合は上書き。
追加
// 要素を追加
m[2] = "green_tea"
fmt.Println[(drink[2])
// green_tea
削除
drink := map[int]string {
1: "coffee",
4: "tea",
8: "wine",
}
delete(drink, 1)
fmt.Println(drink)
// map[4:tea 8:wine]
for を使ったMap表示
// for range使う
for v, k := for range {
fmt.Printf("%d => %s\n", v, k)
}
// 0 => coffee
// 1 => tea
// 2 => wine
Mapにネストさせる
Mapに配列のネスト
m := map[int][]string {
1: []string{Ruby, PHP, JavaScript}
2: []string{Cat, Dog, Monkey}
3: []string{Tokyo, Osaka, Kyoto, Aichi}
}
fmt.Println(m[3][0])
// Tokyo