見出し画像

[Go言語 入門] Map

golangで作ってみたいものがあり、golangを学び始めたので学習したことを書いていくノート。

---------------------------------------------------

サイトマップはこちら

---------------------------------------------------

第5回 Map


mapは以下のように宣言する。

「var 変数名 map[keyの型]値の型 = map[keyの型]値の型{値}」

// main.go

m := map[string]int{"apple"100"orange"200}
fmt.Println(m)

m["banana"] = 300
fmt.Println(m)

orange_price := m["orange"]
fmt.Printf("オレンジ:%d円\n", orange_price)

// 実行結果
// map[apple:100 orange:200]
// map[apple:100 banana:300 orange:200]
// オレンジ:200円

mapはキーの有無を返り値で返してくれる。

省略可能だが、必要であれば値の次にもう一つ変数を宣言すると、mapに対してkeyの有無を true or false で返してくれる。

m := map[string]int{"apple"100"orange"200}
price_apple, flg_apple := m["apple"]
fmt.Println(flg_apple)

price_lemon, flg_lemon := m["lemon"]
fmt.Println(flg_lemon)

//実行結果
true
false

空のmapを宣言するときはmapをメモリに割り当てておく必要がある。

割り当てていないと値を追加できない。

割り当てには「make()」を使う。

// main2.go

m := make(map[string]int)
m["apple"] = 100
fmt.Println(m)

// 実行結果
map[apple:100]

以下はエラー

var m map[string]int
m["orange"] = 100
fmt.Println(m)

以上



この記事が気に入ったらサポートをしてみませんか?