반응형
안녕하세요 공공돌🧸 입니다.
조건문에 대해 정리 해봤습니다.
1. 조건문
1. if-else 구문
- if-else 구문의 기본 형태
- if만 단독으로 사용해도되고, else, else if 와 조합해서 사용 가능합니다.
- if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 합니다.
- 조건을 감싸는 소괄호는 선택사항입니다.
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 타입이 들어와야 합니다.
// someInteger는 Bool 타입이 아닌 Int 타입이기 때문에
// 컴파일 오류가 발생합니다.
//if someInteger { }
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 "GGDol" {
case "jake":
print("jake")
case "mina":
print("mina")
case "GGDol":
print("GGDol!!")
default:
print("unknown")
} // GGDol!!
2. 생각해보기
▶ if-else 구문과 switch 구문의 적절한 활용 예에 대해 생각해 봅시다.
▶ if-else 구문
프로그래밍을 배울때 한번쯤은 볼 수 있는 계산기 프로그램에서 if문을 활용할 수 있습니다.
if문을 활용하면 범위 체크에 용의합니다.
let score = 85
if score >= 90 {
print("A")
} else if score >= 80 {
print("B")
} else if score >= 70 {
print("C")
} else {
print("F")
}
단순한 조건에 따라 아래와 같이 다른 동작을 실행할때 용의합니다.
let isRaining = true
if isRaining {
print("Bring an umbrella!")
} else {
print("Enjoy the weather!")
}
▶ switch 구문
열거형의 각 케이스에 대한 동작을 지정할 때 switch가 가독성이 좋습니다.
enum CompassPoint {
case north, south, east, west
}
let direction = CompassPoint.north
switch direction {
case .north:
print("Heading north")
case .south:
print("Heading south")
case .east:
print("Heading east")
case .west:
print("Heading west")
}
여러 범위를 한 번에 체크할 때 switch가 간결합니다.
let temperature = 25
switch temperature {
case 0..<10:
print("Cold")
case 10..<20:
print("Cool")
case 20..<30:
print("Warm")
default:
print("Hot")
}
▶ if-else 구문과 switch 구문의 사용에 있어 각각의 장단점은 무엇이 있을지 생각해봅시다.
▶ if-else 구문
장점
가독성이 좋고 직관적이며, 복잡한 조건을 다룰 때 적합하다.
범위를 체크하거나 다양한 조건을 검사할 때 사용할 수 있다.
단점
여러 조건을 연달아 검사할 경우 중첩이 깊어질 수 있어 가독성이 저하될 수 있다.
▶ switch 구문
장점
열거형 등 특정 유형에 대한 패턴 매칭이나 다양한 조건 체크 시에 가독성이 좋다.
각 케이스별로 코드를 작성하므로 각각의 동작이 명확하게 드러난다.
단점
범위나 여러 조건을 동시에 처리하기 어렵다.
fallthrough를 사용하여 다음 케이스로 넘어갈 수 있지만, 사용 시 주의가 필요하다.
공부하는 공돌이, 공공돌입니다🐻
@sheep1sik
출처 : 야곰 iOS 프로그래밍을 위한 스위프트 기초
반응형
'iOS > Swift 기초' 카테고리의 다른 글
[ Swift 기초 ] 옵셔널 (1) | 2024.01.07 |
---|---|
[ Swift 기초 ] 반복문 (2) | 2024.01.06 |
[ Swift 기초 ] 함수 고급 (2) | 2024.01.04 |
[ Swift 기초 ] 함수 기본 (2) | 2024.01.03 |
[ Swift 기초 ] 컬렉션 타입(Array, Dictionary, Set) (1) | 2024.01.02 |