티스토리 뷰
조건문은 조건에 따라 코드의 실행 여부를 판단하는 제어문입니다.
Swift에서 제공되는 조건문으로는 어떤 것들이 있는지 확인해봅시다!
1. If ~ else 문
if문 옆에 있는 조건이 참이라면 if 문 내부를 실행, 거짓이라면 else 문 내부를 실행하는 조건문입니다.
조건은 반드시 Boolean 타입이어야 합니다. (true or false)
if 문 옆에 괄호가 따로 없다는 점을 제외하고는 C언어와 사용 방식은 같습니다.
//예)
let question = 5 > 10
if question {
// 조건이 만족할 경우 수행
print("하이")
}
else {
// 조건이 만족하지 않을 경우 수행
print("바이")
}
위의 예는 question 이란 bool 타입의 변수가 false(거짓)의 값을 갖고 있기 때문에, else 문에 있는 "바이"가 출력됩니다.
2. Switch 문
기본적으로, Switch문 옆에 있는 변수/상수가 어떤 값을 가지는지에 따라 실행될 case문을 선택하게 됩니다.
각 상태는 case를 통해 나타낼 수 있고 : (콜론)으로 마무리 후 밑의 줄에 실행될 코드를 작성합니다.
변수/상수의 값이 위의 case들의 값과 모두 맞지 않다면 default의 실행문이 실행됩니다.
case 옆의 값을, (쉼표)를 통해 여러 개 지정하는 것도 가능합니다. ex) case "a", "b":
//예)
let food = "pizza"
switch food {
case "ramen":
print("라면먹자")
case "chicken", "coke":
print("치킨아니면 콜라먹자")
case "pizza":
print("피자먹자")
default:
print("굶자")
}
food라는 변수/상수에 "pizza"라는 값이 들어가 있기 때문에 case "pizza"문 안의 내용이 실행되어 "피자 먹자"가 출력됩니다.
만약, food의 값 이 어떤 case에도 포함되지 않는 경우, default에 있는 값이 실행되어 "굶자"가 출력됩니다.
2-1. Switch + Where 문
Swift에서는 다양한 Switch문의 기능이 존재합니다. 그중 하나인 Where 문입니다.
Switch문 내 case에서 if문 같이 조건을 추가로 달아 줄 수 있는 기능입니다.
//예)
let number = 10
switch number {
case _ where number%2 == 0: // _(underscore)은 따로 값을 할당하지 않을 경우 사용
print("짝수")
default:
print("홀수")
}
변수/상수의 값을 2로 나눈 나머지가 0일 경우 case 문을 실행한다는 조건을 where 문을 통해 추가하였습니다.
실행하게 되면 변수의 값은 10이기 때문에 "짝수"가 출력됩니다.
2-2. Switch + Tuple 데이터
Switch 문으로 Tuple 데이터를 제어할 수도 있습니다.
case 값에 Tuple 데이터를 넣어서 변수 값과 같다면 마찬가지로 실행시킵니다.
여기서_(underscore)는 어떤 값이든 상관없다는 뜻입니다.
그리고 마지막 case와 같이 Tuple 데이터에 들어오는 Tuple 값을 변수에 받아서 조건 검사를 할 수 있습니다.
//예)
let tuple = (x: 4, y: 6)
switch tuple {
case (0 , 0):
print("둘다 0")
case (_, 0):
print("y는 0")
case (0, _):
print("x는 0")
case (let x, let y) where x<y:
print("(\(x),\(y))")
default:
print("어딘가")
}
다음의 경우엔 tuple 변수/상수 값이 x < y를 만족하기 때문에 "(4,6)"이라는 값이 출력됩니다.
Reference :
'Swift' 카테고리의 다른 글
[iOS] Swift 열거형 (enum) (0) | 2021.02.22 |
---|---|
[iOS] Swift Collection Types (Array, Dictionary, Set) (0) | 2021.02.17 |
[iOS] Swift Fuction 정리 (0) | 2021.02.11 |
[iOS] Swift Optional(Optional Binding) (0) | 2021.02.10 |
[iOS] Swift 반복문 (While 문, For 문) (0) | 2021.02.07 |
- Total
- Today
- Yesterday
- 슈퍼스칼라
- 개발대외활동
- Xcode
- Swift
- PHAsset
- setBackgroundColor
- 운영체제
- optional
- isNetworkAccessAllowed
- ios
- 부캠
- 스냅킷
- 개발동아리
- 스레드
- returnKey
- sharedmemory
- 프로세스
- 프로세스간통신
- OS
- rxcocoa
- 디프만
- 멀티프로세스
- RxSwift
- PHImageRequestOptions
- webcrawl
- WKUIDelegate
- cs
- swiftsoup
- 쓰레드
- URLComponents
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |