map(辞書型)【夏休みにGo vol.9】
こんばんは、しーたです。今日はmapについて学んでいきます。
map(辞書型)
mapは他の言語では辞書型といわれているものです。
「りんご:100円、みかん:40円」のように、2つの値がペアになって入っています。
v, ok := m["banana"] のように戻り値を2つ与えると「値、有無」が返されます。
func main() {
m := map[string]int{"apple": 100, "orange": 150}
fmt.Println(m)
m["orange"] = 300 //値の上書き
fmt.Println(m)
m["peach"] = 500 //indexの追加
fmt.Println(m)
fmt.Println(m["banana"]) //ないものを指定してみる
v, ok := m["apple"] //2つ目の戻り値には有無が返される
fmt.Println(v, ok)
v2, ok2 := m["banana"]
fmt.Println(v2, ok2)
}
空のmapを宣言するときは、makeでメモリを確保します。
func main() {
m2 := make(map[string]int)
m2["math"] = 80
fmt.Println(m2)
}
下のようにvarで宣言してしまうとメモリが存在しないため(?)追加ができません。
func main() {
var m3 map[string]int
m2["math"] = 80 //メモリが確保されていないので追加できない
fmt.Println(m3)
}
以上です!それでは!