[Swift] 조건문

Ujeon 🍵
4 min readJul 11, 2021

--

Swift에서 조건문을 작성하는 방법은 if...else 문과 switch 문이 있습니다.

먼저 if...else 문부터 살펴보겠습니다.

if...else 문은 다음처럼 작성합니다.

if 조건 {  do something
} else {
do something
}

여타 다른 언어의 if...else 문과 크게 다르지 않습니다.

한가지 다른 점이 있다면, 조건은 반드시 Boolean 타입이어야 한다는 것입니다.

그렇기 때문에 평가할 조건이 단순히 값이 존재한다고 해서 조건문이 실행되는 것은 아니죠. 아래의 경우에는 조건문에서 타입에러가 발생합니다 :

Int 타입은 Bool 타입으로 사용될 수 없기 때문에 에러가 발생합니다.
String 타입의 값은 Bool 타입으로 변환될 수 없으므로 에러가 발생합니다.
Array<Int> 타입의 값은 Bool 타입으로 변환될 수 없으므로 에러가 발생합니다.

if...else 문 대신에 삼항 연산자를 사용할수도 있습니다.

Swift에서도 삼항 연산자를 사용할 수 있습니다.

Switch 문 역시 다른 언어의 그것과 사용방법은 비슷합니다.

switch 평가대상 {case 케이스1:case 케이스2:default:
}

자바스크립트 처럼 각 케이스가 끝나는 부분에 명시적으로 break 를 작성해주어야 실행이 중단되는 것과는 달리 Swift에서는 암묵적으로 실행을 중단합니다.

그렇다면 여러 케이스에 대해서 하나의 로직을 적용하기 위해서는 어떻게 할까요?!

자바스크립트에서는 위와 같이 사용할 수 있습니다.

위와 같은 방법으로는 여러 케이스에 하나의 로직을 적용할 수 없습니다. 대신 다른 방법들을 사용해야 하죠.

위처럼 하나의 케이스에 쉼표를 사용하여 조건을 추가하거나,

fallthrough를 사용합니다.

fallthrough 키워드를 사용하여 처리하면 됩니다.

switch 문에서 한가지 주의할 점은 반드시 default 케이스를 작성해 주어야 한다는 것입니다. 그렇지 않으면 코드가 실행되지 않습니다.

Swift에는 범위 연산자가 존재합니다. 바로 ..<... 입니다.

먼저 ..< 은 범위의 시작부터 끝까지 중 마지막 값을 제외한 범위를 의미합니다. 즉, 1..<5 라면 1,2,3,4 가 되는 것이죠.

... 은 범위의 시작부터 끝까지 이, 마지막 값 역시 포함한 범위를 의미합니다. 1...5 인 경우 1,2,3,4 그리고 5까지 포함한 범위입니다.

이 범위 연산자는 switch 문과 함께 사용하면 효과적입니다 :

지금까지 Swift의 조건문에 대해서 살펴보았습니다. 😎

참고 자료

야곰의 스위프트 기본 문법 강좌 : 조건문

100 Days Of Swift : Conditions

100 Days Of Swift : The ternary operator

100 Days Of Swift : Switch statements

100 Days Of Swift : Range operators

--

--

Ujeon 🍵
Ujeon 🍵

Written by Ujeon 🍵

Hi there, this is Ujeon. I want to be a developer who passes on value through development :)

No responses yet