Swift 반복문 완벽 가이드: For-In, While, Repeat-While, 활용법 총정리
Swift 반복문의 종류와 활용법을 배워보세요. For-In, While, Repeat-While로 효율적인 코딩을 시작하세요!

Swift에서 반복문 사용하기
Swift는 효율적으로 코드를 반복 실행할 수 있도록 다양한 반복문을 제공합니다. 이번 포스트에서는 Swift에서 사용할 수 있는 반복문의 종류와 각각의 사용법을 알아보겠습니다.
1. For-In 반복문
For-In 반복문은 배열, 딕셔너리와 같은 컬렉션의 각 항목을 반복적으로 순회할 때 사용됩니다.
let names = ["Alice", "Bob", "Charlie"]
for name in names {
print("Hello, \(name)!")
}
// Hello, Alice!
// Hello, Bob!
// Hello, Charlie!
딕셔너리와 함께 사용하기
딕셔너리는 키-값 쌍으로 구성되어 있어 두 개의 변수를 사용할 수 있습니다.
let scores = ["Alice": 90, "Bob": 80, "Charlie": 85]
for (name, score) in scores {
print("\(name): \(score)")
}
// Alice: 90
// Charlie: 85
// Bob: 80
2. While 반복문
While 반복문은 조건이 참일 동안 계속해서 코드를 실행합니다.
var number = 5
while number > 0 {
print("\(number)...")
number -= 1
}
print("Go!")
// 5...
// 4...
// 3...
// 2...
// 1...
// Go!
3. Repeat-While 반복문
Repeat-While 반복문은 먼저 코드를 한 번 실행한 뒤 조건을 평가합니다. 따라서 적어도 한 번은 실행됩니다.
var counter = 1
repeat {
print("Counter is at \(counter)")
counter += 1
} while counter <= 5
// Counter is at 1
// Counter is at 2
// Counter is at 3
// Counter is at 4
// Counter is at 5
4. 범위 연산자와 함께 사용하기
For-In 반복문은 범위 연산자와 결합하여 특정 범위의 숫자를 반복할 수 있습니다.
for number in 1...5 {
print(number)
}
// 1
// 2
// 3
// 4
// 5
// 반열림 범위 연산자
for number in 1..<5 {
print(number)
}
// 1
// 2
// 3
// 4
5. Continue와 Break
반복문에서 continue와 break를 사용하여 흐름을 제어할 수 있습니다.
Continue: 현재 반복을 건너뛰고 다음 반복을 실행합니다.
Break: 반복문을 즉시 종료합니다.
for number in 1...10 {
if number % 2 == 0 {
continue // 짝수는 건너뛰기
}
if number > 7 {
break // 숫자가 7보다 크면 반복 종료
}
print(number)
}
// 1
// 3
// 5
// 7
6. 중첩 반복문
반복문 안에 다른 반복문을 중첩하여 사용할 수 있습니다.
for i in 1...3 {
for j in 1...3 {
print("i: \(i), j: \(j)")
}
}
// i: 1, j: 1
// i: 1, j: 2
// i: 1, j: 3
// i: 2, j: 1
// i: 2, j: 2
// i: 2, j: 3
// i: 3, j: 1
// i: 3, j: 2
// i: 3, j: 3
7. 레이블을 사용한 반복문 제어
중첩 반복문에서 특정 반복문만 종료하거나 건너뛰고 싶을 때 레이블(label)을 사용할 수 있습니다.
outerLoop: for i in 1...3 {
for j in 1...3 {
if j == 2 {
continue outerLoop // 외부 반복문으로 이동
}
print("i: \(i), j: \(j)")
}
}
// i: 1, j: 1
// i: 2, j: 1
// i: 3, j: 1