프로그래밍을 하면서 가장 많이 썼던 것 중에 조건문과 반복문이 있다.
그 중 조건문에 대해서 기본적인 사용법에 대해서 간단하게 공부해봤다.
1. if-else 조건문
조건문 하면 프로그래밍을 공부했다면 누구나 알 수 있는 if-else 조건문이다.
기본 문법은 다음과 같다.
if 조건 {
실행 코드
} else if 조건 {
실행 코드
} else {
실행 코드
}
if, else if, else 모두 사용하지 않아도 된다.
if 만 사용해도 되고 if 와 else if, else 를 조합해서 사용할 수 있다.
조건에는 단순 값을 넣을 수 없어 비교할 수 없기 때문에 항상 Bool 타입의 조건이 와야 한다.
let someInteger = 100
if someInteger < 100 {
print("100미만")
} else if someInteger > 100 {
print("100초과")
} else {
print("100")
}
==================== 출력 결과 ====================
100
조건에 연산자를 사용할 수 있고 Bool 타입의 변수는 그냥 넣어주면 된다.
let someBool = true
if someBool {
print("참")
} else {
print("거짓")
}
==================== 출력 결과 ====================
참
if someInteger { } 를 사용했다면 컴파일 에러가 발생했을 것이다.
2. switch 조건문
다음은 switch 조건문이다.
if-else 조건문과 다르게 하나의 값을 통해 패턴이 일치하면 해당 구문이 실행된다.
기본 문법은 다음과 같다.
switch 비교값 {
case 패턴:
실행 구문
default:
실행 구문
}
다른 언어와 달리 스위프트에서의 switch 조건문은 강력한 힘을 발휘한다고 한다.
대부분의 스위프트 기본 타입을 지원하며, 다양한 패턴과 응용이 가능하다고 한다.
여기서 주의해야 할 점은 case 내부에 실행 구문이 반드시 존재해야하고 default 구문도 반드시 존재해야 한다.
명시적으로 break 하지 않아도 자동으로 case 마다 break 가 작동한다.
let someInteger = 100
switch someInteger {
case 0:
print("zero")
case 1..<100:
print("1~99")
case 101...Int.max:
print("over 100")
default:
print("unknown")
}
==================== 출력 결과 ====================
unknown
fallthrough 키워드를 사용해서 break 를 무시할 수 있다고 한다.
쉼표(,) 사용해서 하나의 case 에 여러 패턴을 명시할 수 있다.
switch "jaynam" {
case "jake":
print("jake")
fallthrough
// break 대신 fallthrough 를 사용할 수 있다.
case "mina":
print("mina")
case "jaynam":
print("jaynam!!")
default:
print("unknown")
}
==================== 출력 결과 ====================
jaynam!!
쉼표(,) 사용해서 하나의 case 에 여러 패턴을 명시할 수 있다.
switch "jaynam" {
case "jaynam", "jay":
print("jaynam!!")
case "berry":
print("very!!")
default:
print("who are you?")
}
==================== 출력 결과 ====================
jaynam!!
jaynam 또는 jay 의 패턴이 비교값과 일치한다면 해당 구문을 출력한다.
이 뿐만 아니라 다양한 패턴으로 조건문을 사용할 수 있다고 한다.
그 부분에 대해서는 앞으로 하나씩 알아나가야겠다.
- 참고 사이트 -
www.edwith.org/boostcamp_ios/lecture/11235
'iOS > Swift' 카테고리의 다른 글
[Swift] 10. 옵셔널 (Optional) (0) | 2020.09.23 |
---|---|
[Swift] 9. 반복문 (for-in, while, repeats-while) (0) | 2020.09.16 |
[Swift] 7. 함수 고급 (0) | 2020.09.15 |
[Swift] 6. 함수 기본 (func) (0) | 2020.09.08 |
[Swift] 5. 컬렉션 타입 (Array, Dictionary, Set) (0) | 2020.09.08 |