swift에는 여러가지 반복문이 존재한다. 여기엔 작업을 여러 번 수행하는 while, 특정 조건에 따라 코드의 다른 분기를 실행하는 if, guard, switch, 실행 흐름을 코드의 다른 지점으로 전송하는 continue, break와 같은 제어문이 포함된다.
For-In Loops (for문)
- 배열의 항목, 숫자 범위 또는 문자열의 문자와 같은 시퀀스를 반복할 때 사용한다.
- 딕셔너리를 반복하여 key-value에 접근할 수도 있다.
- 위와 같은 경우엔 튜플로 값이 반환되고, 딕셔너리는 순서가 없으므로 반복문을 돌린다고 해서 순서대로 출력되지 않는다.
let names = ["Kim", "Park", "Lee"]
for name in names {
print("Hello, \(name)!")
}
// Hello, Kim!
// Hello, Park!
// Hello, Lee! 출력
// 딕셔너리
let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4]
for (animalName, legCount) in numberOfLegs {
print("\(animalName)s have \(legCount) legs")
}
// cats have 4 legs
// ants have 6 legs
// spiders have 8 legs 출력
let base = 3
let power = 10
var answer = 1
// 시퀀스의 개별값이 필요하지 않으면 변수명 대신 언더바를 사용하면 for-in을 사용할 수 있다.
for _ in 1...power {
answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
// 3 to the power of 10 is 59049 출력
While Loops (while문)
- while문은 조건이 거짓(false)가 될 때까지 반복한다.
- while문은 첫 번째 반복이 시작되기 전에 반복 횟수를 알 수 없을 때 사용하는 것이 가장 좋다.
- 반복을 할 때마다 조건을 확인한다.
var num: Int = 1
while num <= 20 {
num += 1
}
print(num) // 21 출력
Repeat-While Loops (repeat문)
- repeat문은 while과 유사하지만 주어진 반복문을 1회 실행 후에 조건을 확인한다.
- 다른 언어에 존재하는 do while문과 유사하다.
var num: Int = 1
repeat {
num += 1
} while num <= 20
print(num) // 21 출력