728x90
728x90
Swift 제어 흐름: 코드의 흐름을 조절하는 다양한 방법
Swift는 코드의 실행 흐름을 제어하기 위해 다양한 제어 흐름 구문을 제공합니다. 이러한 구문들을 효과적으로 사용하면 복잡한 알고리즘도 명확하고 가독성 있게 구현할 수 있습니다.
1. 조건문: if, else, switch
- if 문: 주어진 조건이 참일 때 특정 코드 블록을 실행합니다.
let age = 25 if age >= 18 { print("성인입니다.") } else { print("미성년자입니다.") }
- switch 문: 다양한 값에 따라 다른 코드 블록을 실행합니다.
let dayOfWeek = "Sunday" switch dayOfWeek { case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday": print("평일입니다.") case "Saturday", "Sunday": print("주말입니다.") default: print("잘못된 요일입니다.") }
- 완전 일치: 모든 가능한 경우를 다루지 않으면 오류가 발생합니다.
- fallthrough: fallthrough 키워드를 사용하여 다음 case로 넘어갈 수 있습니다.
- where 절: case 조건에 추가적인 조건을 설정할 수 있습니다.
- 범위 매칭: 숫자 범위나 문자열 범위를 매칭할 수 있습니다.
- 튜플: 튜플을 사용하여 복합적인 패턴 매칭을 할 수 있습니다.
- guard 문: 조건이 거짓일 때 코드 블록을 빠져나가고, 참일 때만 다음 코드를 실행합니다. 일반적으로 오류 처리에 사용됩니다.
func greet(name: String?) { guard let name = name else { print("이름을 입력하세요.") return } print("Hello, \(name)!") }
2. 반복문: for, while, repeat-while
- for-in 루프: 배열, 딕셔너리, 범위 등의 요소를 순회하며 반복 작업을 수행합니다.
let numbers = [1, 2, 3, 4, 5] for number in numbers { print(number) }
- while 루프: 주어진 조건이 참인 동안 반복적으로 코드 블록을 실행합니다.
var count = 0 while count < 5 { print(count) count += 1 }
- repeat-while 루프: 코드 블록을 한 번 실행한 후 조건을 검사하고, 조건이 참이면 다시 실행합니다.
var count = 0 repeat { print(count) count += 1 } while count < 5
3. 제어 전달: break, continue
- break: 반복문이나 switch 문을 즉시 빠져나갑니다.
- continue: 현재 반복을 건너뛰고 다음 반복으로 이동합니다.
4. 레이블과 제어 전달
- 레이블: 반복문이나 조건문에 레이블을 붙여 특정 구문을 더 정확하게 제어할 수 있습니다.
outerLoop: for i in 1...3 { for j in 1...3 { if i == 2 && j == 2 { break outerLoop } print("(\(i), \(j))") } }
Swift 제어 흐름의 특징
- 명확하고 간결한 문법: 다른 언어에 비해 더 간결하고 직관적인 문법을 제공합니다.
- 안전한 코드: 옵셔널 타입, 타입 추론 등을 통해 안전한 코드 작성을 유도합니다.
- 다양한 기능: switch 문의 강력한 패턴 매칭, guard 문을 통한 오류 처리 등 다양한 기능을 제공합니다.
- 함수형 프로그래밍 지원: 고차 함수, 클로저 등을 활용하여 함수형 프로그래밍 스타일로 코드를 작성할 수 있습니다.
Swift의 제어 흐름은 다양한 상황에 유연하게 대처할 수 있도록 설계되었습니다. 이러한 기능들을 효과적으로 활용하여 더욱 강력하고 안정적인 Swift 코드를 작성할 수 있습니다.
728x90
728x90
'IOS개발: SWIFT > 2. 기본 문법 마스터' 카테고리의 다른 글
Swift 선택적 바인딩 (Optional Binding): if let, guard let, nil 합병 연산자 (0) | 2024.09.12 |
---|---|
Swift 연산자: 산술 연산자, 비교 연산자, 논리 연산자, 할당 연산자, 복합 할당 연산자 (0) | 2024.09.12 |
Swift의 기본 데이터 타입: Int, Double, Float, String, Bool, Character, Array, Dictionary, Set (0) | 2024.09.12 |
Swift 변수와 상수: var, let 키워드, 타입 추론, 형 변환 (0) | 2024.09.12 |