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
bannerAds