Gaurd 구문
Guard 구문은 불리언 표현식을 포함하며, true일때만 구문 다음에 위치한 코드가 실행된다. 이 구문은 불리언 표현식이 false일때 수행될 else 절을 반드시 포함해야 한다.
guard <조건문> else { //조건문이 false일 때 실행될 코드 <종료 구문> } //조건문이 true일 때 실행될 코드 기본적으로, guard 구문은 특정 조건을 만족하지 않은 경우 현재의 함수 또는 반복문에서 빠져나올 수 있게 한다. 쉽게 말해서, 아니면 갇히고 맞으면 빠져나오게 하는 것. 안전하게 옵셔널을 처리하는 방법과 같은 기제다.
요약
제어 흐름이라는 용어는 어플리케이션의 소스 코드가 실행될 때 실행 경로를 가리키는 로직을 표현할 때 사용된다. if, else, guard 등을 이용해
Switch 구문
'스위프트의 제어 흐름' 장에서 if, else 구문을 이용해 프로그램의 실행 흐름을 어떻게 제어하는지 살펴보았다. 이 구문은 제한된 개수의 조건을 검사할 때는 적절하지만, 많은 수의 조건을 처리할 때는 부적절할 수 있다.
왜 Switch 구문을 사용하나?
조건이 많아질 경우 최고의 대안이 된다.
let value = 2 switch (value) { case 0: print("zero") case 1: print("one") case 2: print("two") default: print("Integer out of range") } Case 구문 결합하기
때로는 서로 다른 case에 대해 동일한 코드가 실행되어야 할 때도 있다.
let value = 2 switch (value) { case 0, 1, 2: print("zero, one or two") case 3: print("three") default: print("Integer out of range") } switch 구문에서 범위 매칭하기
let temper = 80 switch (temper) { case 0...49: print("cold") case 50...79 print("warm") case 80...110 print("hot") default: print("temper out of range") } break 따로 쓰지 않아도 된다. default에서 마무것도 하지 않을 경우에만 break 넣어주면 좋다.
요약
판단해야 하는 조건이 적을 경우 If, else 구문이 훌륭한 의사결정 방법으로 사용될 수 있지만, 조금 더 복잡한 상황에서는 switch 구문이 적합하다.