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)
}

画像1


空の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)
}


以上です!それでは!

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