![見出し画像](https://assets.st-note.com/production/uploads/images/65235311/rectangle_large_type_2_d690c3077b7f33178850d2ef72755bf2.png?width=800)
[Go言語 入門] rangeを使ったfor文
golangで作ってみたいものがあり、golangを学び始めたので学習したことを書いていくノート。
---------------------------------------------------
サイトマップはこちら
---------------------------------------------------
第9回 rangeを使ったfor文
rangeを使ったfor文の基本的な形は以下
「for 変数 := range 対象 { 処理 }」
対象をスライスとした場合。
// main.go
// スライスを定義
slice := []string{"apple", "banana", "orange", "lemon"}
for i, v := range slice {
fmt.Println(i, v)
}
// 実行結果
// 0 apple
// 1 banana
// 2 orange
// 3 lemon
スライスの場合、「i」にはindex番号、「v」には値が返される。
index番号、または要素の値が不要な場合は以下のように「_」で省略する。
// index番号不要
for _, v := range slice {
fmt.Println(v)
}
fmt.Println("----------")
// 要素の値不要
for i, _ := range slice {
fmt.Println(i)
}
// 実行結果
// apple
// banana
// orange
// lemon
// ----------
// 0
// 1
// 2
// 3
対象を map とした場合。
// mapを定義
m := map[string]int{"apple": 100, "banana": 200, "orange": 300, "lemon": 400}
for k, v := range m {
fmt.Println(k, v)
}
mapの場合、「k」にはキー、「v」には値が返される。
キー、または要素の値が不要な場合は以下のように書く。
// 値不要
for k := range m {
fmt.Println(k)
}
fmt.Println("----------")
// キー不要
for _, v := range m {
fmt.Println(v)
}
// 実行結果
// apple
// banana
// orange
// lemon
// ----------
// 100
// 200
// 300
// 400
map では値が不要な場合、「_」を使用せず省略することが可能。(「_」で省略も可)
キーが不要な場合は「_」が必要なので注意!
以上
この記事が気に入ったらサポートをしてみませんか?