TIL: 반복문

Royce·2025년 3월 11일

Swift 문법

목록 보기
9/63

for 문

  • 컬렉션이나 범위 등 반복 가능한 시퀀스의 각 요소에 대해 반복 실행할 때 사용하는 구문이다
  • Swift에서는 주로 for-in 문을 사용하며, 간결하고 직관적인 문법으로 많은 반복 작업을 쉽게 처리할 수 있다

for-in 문의 구조

for item in sequence {
	// item에 대해 실행할 코드
}

사용하는 이유

  • 간결함: 배열이나 범위의 모든 요소에 대해 일괄 처리할 때, 복잡한 인덱스 관리 없이 간단하게 작성할 수 있다
  • 가독성: 반복 대상이 무엇인지 명확하게 드러나므로, 코드를 읽고 이해하기 쉽다
  • 안전성: 인덱스 범위 오류 없이 안전하게 요소들을 순회할 수 있다

코드 예제

1. 범위를 이용한 반복

for i in 1...5 {
    print("현재 숫자: \(i)")
}



for num in stride(from: 1, to: 15, by: 2) {    // 마지막 숫자인 15를 포함하지 않는다. to 대신 through를 사용하면 마지막 숫자를 포함한다
	print(num)
}
/*
 출력 결과:
 1
 3
 5
 7
 9
 11
 13
*/

2. 배열을 이용한 반복

let fruits = ["사과", "바나나", "오렌지"]

for fruit in fruits {
    print("맛있는 \(fruit)")
}

3. 딕셔너리를 이용한 반복

let scores = ["Royce": 85, "Steve": 92, "Charlie": 78]

for (name, score) in scores {
    print("\(name)\(score)점을 받았습니다.")
}

4. 문자열에서도 사용 가능

for chr in "Hello" {
	print(chr)
}
/* 
 출력 결과:
 H
 e
 l
 l
 o
*/

(참고)와일드 카드 패턴 _ (Wildcard Pattern)

  • Swift에서 특정 값에 관심이 없거나, 그 값을 사용하지 않고 단순히 "어떤 값이든" 일치시키고자 할 때 사용하는 패턴이다
  • 이때 사용하는 기호는 언더스코어(_)이다
  • 와일드 카드 패턴은 값의 구체적인 내용에 신경쓰지 않고, 패턴 매칭 조건을 단순화할 수 있다

와일드 카드 패턴의 특징

  • 값 무시: 특정 값이나 변수의 내용을 바인딩하지 않고, 해당 값이 어떤 것이든 상관없음을 나타낸다
  • 코드 간결성: 사용하지 않는 값을 명시적으로 무시함으로써, 불필요한 변수명을 줄이고 가독성을 높인다
  • 패턴 매칭 활용: switch 문, for-in 문 등에서 조건을 간단하게 처리할 때 유용하다

와일드 카드 패턴 사용 예시

1. switch 문에서의 사용

let score = 75

switch score {
case 0...50:
    print("낙제")
case 51...80:
    print("합격")
case 81...100:
    print("우수")
case _:
    print("잘못된 점수")
}



let point = (x: 0, y: 5)

switch point {
case (0, 0):
    print("원점")
case (_, 0):
    print("x축 위")  // x 값은 무시, y가 0인 경우
case (0, _):
    print("y축 위")  // y 값은 무시, x가 0인 경우
default:
    print("기타")
}

2. for-in 문에서의 사용

// 5번 반복하면서 단순히 특정 작업(예: 출력)만 수행할 때
for _ in 1...5 {
    print("Hello, World!")
}

while 문

  • 주어진 조건이 참인 동안 코드 블록을 반복 실행하는 제어문이다
  • 조건이 반복 실행 전에 평가되기 때문에, 처음부터 조건이 false라면 한 번도 실행되지 않을 수 있다

while 문의 기본 문법

while 조건 {
	// 조건이 true인 동안 실행할 코드
}



var count = 1
while count <= 5 {
    print("현재 count: \(count)")
    count += 1  // count 값을 증가시켜 조건을 eventually false로 만듦. 이러한 조건이 없으면 코드가 무한 반복하게 된다
}

repeat-while 문

  • 조건 검사 전에 코드 블록을 최소 한 번 실행한다

repeat-while 문의 기본 문법

repeat {
	// 최소 한 번 실행되는 코드
} while 조건



var number = 10
repeat {
    print("현재 number: \(number)")
    number -= 1
} while number > 10
profile
iOS 개발자 지망생

0개의 댓글