1. if - else 구문
- if만 단독으로 사용해도 되고, else와 else if를 조합해서 사용해도 됨
- if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 함
- 조건을 감싸는 소괄호는 선택사항
if-else 구문의 기본 형태
if 조건 {
/*실행 구문 */
} else if 조건 {
/* 실행 구문 */
} else {
/* 실행 구문 */
}
* if-else의 사용
let someInteger = 100
if someInteger < 100{
print("100 미만")
} else if someInteger > 100{
print("100 초과")
} else {
print("100"
}
=> 100 출력
* 스위프트의 조건에는 항상 Bool 타입이 들어가야 함
if someInteger {} // someInteger은 Int 타입이기 때문에 오류 발생
2. switch 구문
- 스위프트의 switch 구문은 다른 언어에 비해 굉장히 강력한 힘을 발휘
- 기본적으로 사용하던 정수 타입의 값만 비교하는 것이 아니라 대부분의 스위프트 기본 타입을 지원, 다양한 패턴과 응용 가능
- 스위프트의 다양한 패턴은 Swift Programming Language Reference의 패턴에서 확인 가능
- 각각의 case 내부에는 실행 가능한 코드가 반드시 위치해야 함
- 매우 한정적인 값 (ex. enum의 case 등)이 비교 값이 아닌 한 default 구문은 반드시 작성해야 함
- 명시적 break를 하지 않아도 자동으로 case마다 break 됨
- fallthrough 키워드를 사용하여 break를 무시할 수 있음
- 쉼표(,)를 사용하여 하나의 case에 여러 패턴을 명시할 수 있음
switch 구문의 기본 형태
switch 비교값 {
case 패턴:
/* 실행 구문 */
default:
/* 실행 구문 */
}
* 범위 연산자를 활용하면 더 쉽고 유용
let someInteger = 100
switch someInteger{
case 0:
print("zero")
case 1..<100: // a..<b 는 a이상 b미만을 의미
print("1~99")
case 100:
print("100")
case 101...Int.max: // a...b 는 a이상 b이하를 의미
print("over 100")
default:
print("unknown")
}
* 정수 외의 대부분의 기본 타입을 사용할 수 있음
switch "dingsi"{
case "ling":
print("ling")
case "lee":
print("lee")
case "za":
print("za")
case "dingsi"
print("dingsi!")
default:
print("unknown")
}
'Swift' 카테고리의 다른 글
[스위프트 기초] 10. 옵셔널 (0) | 2022.05.21 |
---|---|
[스위프트 기초] 9. 반복문 (0) | 2022.05.21 |
[스위프트 기초] 7. 함수 고급 (0) | 2022.05.21 |
[스위프트 기초] 6. 함수 기본 (0) | 2022.05.21 |
[스위프트 기초] 5. 컬렉션타입(Array, Dictionary, Set) (0) | 2022.05.21 |