※こちらの記事は、プロスタ編集部が学習者の多いSwiftの技術系記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。
参考サイト:【Swift入門】for-in文の使い方
【Swift入門】for-in文の使い方
for-in文の書き方
for-in文はfor文の一種で、コレクションなどに含まれる要素を1つずつ取り出して処理するのに便利です。for文と違って、インデックスカウンタ(例えばi++)を書く必要がありません。特にロジックに支障がなければ、for-in文を使用するように心がけましょう。バグの作り込みを減らせます。
基本的なfor-in文の書き方を次に示します。
for 定数名 in コレクションなど {
処理
}
定数名は、このfor-in文内だけで有効です。また、定数名には、暗黙のうちにlet宣言がされます。つまり、定数名の値を「処理」の中で変更することはできません。
実際にfor-in文を書いてみよう
コレクションの一つである配列を使って、配列要素を取り出して出力してみます。
let intArray : [Int] = [ 10 , 20 , 30 , 40 ,50 ]
for value in intArray{
print(value)
}
実行結果は次のようになります。
10
20
30
40
50
次にディクショナリ(辞書)を使ってみましょう。
let dictionary = [ "one" : 1 , "two" : 2 , "three" : 3]
for (key , value) in dictionary{
print("\(key) = \(value)")
}
実行結果は次のようになります。
one = 1
three = 3
two = 2
実行結果を見ると、one, two, threeの順番になっていませんね。ディクショナリで定義した順番に取得されるとは限りませんので注意してください。
コレクションの代わりに、範囲演算子を指定して二つの数字の区間を指定することができます。まず、1から5までを出力してみます。
for value in 1...5{
print(value)
}
実行結果
1
2
3
4
5
範囲演算子を変えてみます。
for value in 1..<5{
print(value)
}
実行結果
1
2
3
4
“1…5”は5を含みますし、”1..<5”は5を含みません。 for-in文の中で、処理を中止したい場合には、”break”を使用します。また、以降の処理を行わずにループに戻りたい場合には、”continue”を使用します。