📚
Golang マップ
概要
- マップは配列が基盤となっている
- キーと値のペアコレクション
マップの宣言
初期化
nameScore := map[string]int{
"ryo": 11,
"taro": 45,
}
fmt.Println(nameScore)
出力
map[ryo:11 taro:45]
空のマップ作成
- マップは動的である
nameScore := make(map[string]int)
項目の追加
nameScore["jiro"] = 18
項目へのアクセス
概要
- 存在しないキーにアクセスしてもpanicにはならない
- 存在しないキーにアクセスすると規定値がかえされる
fmt.Println(nameScore["jiro"])
存在チェック
score, exist := nameScore["yoshio"]
if exist {
fmt.Println("yoshio's score is", score)
}
項目を削除
- 存在しない項目を削除しようとしても、Goはpanicにならない
delete(nameScore, "yoshio")
マップ内ループ
nameScore := map[string]int{
"ryo": 11,
"taro": 45,
}
for name, score := range nameScore {
fmt.Printf("%s\t%d\n", name, score)
}
- _ 変数を使用すると項目を無視できる
for name, _ := range nameScore {
fmt.Printf("%s\n", name)
}
Discussion