range【Go】
配列、スライス、mapからループ処理で要素を取り出す際に、便利な機能です。
nums := []int{100, 200, 300} for i, v := range nums { fmt.Println(i, v) }
インデックスと値を順に取り出しています。
どちらかを破棄する場合にはアンダースコアを用いて破棄します。
nums := []int{100, 200, 300} for _, v := range nums { fmt.Println(v) }
mapの場合の例です。
prices := map[string]int{ "bread": 170, "pizza": 500, "juice": 130, } for key, amt := range prices { fmt.Println(key, amt) }
keyだけ取り出したい場合は、値の記述を省略できます。
prices := map[string]int{ "bread": 170, "pizza": 500, "juice": 130, } for key := range prices { fmt.Println(key) }