[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)
以上
この記事が気に入ったらサポートをしてみませんか?