Swift의 조건문
- if-else
- switch
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 // 컴파일 오류
{
// 실행구문
}
someIntger는 Bool 타입이 아닌 Int 타입이기 때문에 컴파일 오류 발생
2. Switch 구문
스위프트의 switch 구문은 다른 언어에 비해 강력한 힘을 발휘한다
기본적으로 사용하던 정수타입의 값만 비교하는 것이 아니라 대부분의 스위프트 기본 타입을 지원하며 다양한 패턴과 응용이 가능하다
스위프트의 다양한 패턴은 Swift Programming Language Reference의 패턴에서 확인할 수 있다
- 각각의 case 내부에는 실행가능한 코드가 반드시 위치해야 한다
- 매우 한정적인 값(ex. enum의 case 등)이 비교값이 아닌 한 default 구문은 반드시 작성해야 한다
- 명시적 break를 하지 않아도 자동으로 case마다 break된다
- fallthrough 키워드를 사용해 break를 무시할 수 있다
- 쉼표(,)를 사용해 하나의 case에 여러 패턴을 명시할 수 있다
switch 구문의 기본 형태
switch 비교값
{
case 패턴:
// 실행 구문
default:
// 실행구문
}
예시로 switch 구문의 사용을 작성해보면
switch someInteger
{
case 0:
print("zero")
case 1..<100:
print("1~99")
case 100:
print("100")
case 101...Int.max:
print("over 100")
default:
print("unknown")
}
100
또, 정수 외의 대부분의 기본 타입을 사용할 수 있다
switch "yagom"
{
case "jake":
print("jake")
case "mina":
print("mina")
case "jjudy":
print("jjudy!!")
default:
print("unknown")
}
unknown
정리
1. if-else 구문
- if만 단독으로 사용해도 되고, else, else if와 조합해서 사용 가능하다
- if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 한다 (다른 타입이 들어오면 컴파일 오류 발생)
- 조건을 감싸는 소괄호는 선택 사항이다
if 조건
{
// 실행구문
}
else if 조건
{
// 실행구문
}
else
{
// 실행구문
}
2. switch 구문
- 각각의 case 내부에는 실행가능한 코드가 반드시 위치해야 한다
- 매우 한정적인 값이 비교값이 아닌 한 default 구문은 반드시 작성해야 한다
- 명시적 break를 하지 않아도 자동으로 case마다 break 된다
- fallthrough 키워드를 사용해 break를 무시할 수 있다
- 쉼표(,)를 사용해 하나의 case에 여러 패턴을 명시할 수 있다
switch 비교값
{
case 패턴:
// 실행구문
default:
// 실행구문
}
2022.02.23 - [Study/Swift_BoostCourse_Basic] - iOS 프로그래밍을 위한 스위프트 기초
iOS 프로그래밍을 위한 스위프트 기초
다음과 같이 연재되는 포스트는 부스트코스에서 야곰님의 'iOS 프로그래밍을 위한 스위프트 기초' 강좌를 수강한 후 작성한 기록입니다. 부스트코스에서 야곰님의 'iOS 프로그래밍을 위한 스위프
jjudy99.tistory.com
'[Non-Updated] iOS > Swift_BoostCourse_Basic' 카테고리의 다른 글
[Swift_BoostCourse_Basic] CH 1_11. 옵셔널 (0) | 2022.03.03 |
---|---|
[Swift_BoostCourse_Basic] CH 1_10. 반복문 (0) | 2022.03.02 |
[Swift_BoostCourse_Basic] CH 1_08. 함수 고급 (0) | 2022.02.25 |
[Swift_BoostCourse_Basic] CH 1_07. 함수 기본 (0) | 2022.02.24 |
[Swift_BoostCourse_Basic] CH 1_06. 컬렉션 타입(Array, Dictionary, Set) (0) | 2022.02.24 |