月ノ書

【Swift入門】繰り返し処理をマスターする:for・while・repeat-whileと便利メソッド

この記事でわかること
  • Swiftの基本的な繰り返し処理 for / while / repeat-while の使い方
  • 配列や範囲を使ったループの書き方
  • Swift独自の便利な繰り返しメソッド forEachmap の活用方法

for-in 文(基本の繰り返し)

Swift の for 文は、回数やコレクションを直接指定して繰り返せるのが特徴

範囲を指定して繰り返す

for i in 1...5 {
    print("i = \(i)")
}
i = 1
i = 2
i = 3
i = 4
i = 5

配列を繰り返す

let fruits = ["リンゴ", "バナナ", "ブドウ"]

for fruit in fruits {
    print("フルーツ: \(fruit)")
}
フルーツ: リンゴ
フルーツ: バナナ
フルーツ: ブドウ

インデックス付きの繰り返し

let animals = ["いぬ", "ねこ", "うさぎ"]

for (index, animal) in animals.enumerated() {
    print("\(index)番目は \(animal)")
}
0番目は いぬ
1番目は ねこ
2番目は うさぎ

while 文

条件が true の間、処理を繰り返す

var n = 1

while n <= 3 {
    print("n = \(n)")
    n += 1
}
n = 1
n = 2
n = 3

repeat-while 文

少なくとも1回は処理を実行する繰り返し。ほかの言語の do-while に相当

var m = 1

repeat {
    print("m = \(m)")
    m += 1
} while m <= 3
m = 1
m = 2
m = 3

ループ制御:continue と break

for i in 1...5 {
    if i == 3 {
        continue
    }
    if i == 5 {
        break
    }
    print(i)
}
1
2
4

Swift独自の便利な繰り返し

forEach

配列に対して繰り返し処理が書ける

let nums = [1, 2, 3]

nums.forEach { n in
    print("num = \(n)")
}
num = 1
num = 2
num = 3

map / filter

関数型スタイルで配列を変換・抽出できる

let numbers = [1, 2, 3, 4, 5]

// すべて2倍にする
let doubled = numbers.map { $0 * 2 }

// 偶数だけ取り出す
let evens = numbers.filter { $0 % 2 == 0 }

print(doubled)
print(evens)
[2, 4, 6, 8, 10]
[2, 4]

まとめ

この基礎を理解すると、Swiftでの繰り返し処理や配列操作を効率よく書けるようになる

学習進捗

0
Would love your thoughts, please comment.x