728x90
반응형
1. if-else
먼저 if-else문은 다른 언어와 차이점이 거의 없었다.
내 관점(Kotlin을 주로 하던)에서 보면 차이점이 있었다.
먼저, if나 else if문을 사용 시 Kotlin에서는 조건문에 무조건 괄호를 사용해야 했는데
Swift에서는 선택 사항이었다.
또, Kotlin에서는 실행문이 1줄이라면 중괄호 "{}"를 생략할 수 있었는데 Swift에서는 불가능했다.
2. switch
기본적으로 사용하던 정수 값만 비교하는 것이 아니라 대부분의 Swift 기본 타입을 지원한다.
각각의 case 내부에는 실행 가능한 코드가 반드시 위치해야 한다.
대부분의 상황에서 default문도 작성해주어야 한다.
명시적 break가 필요없이 자동으로 case 내부의 실행문이 종료되면 break가 실행된다.
콤마를 사용해 하나의 case에 여러 패턴을 명시할 수 있다.
let str: String = "Hello"
switch str {
case "hi": //error
case "hey":
print("hey")
case "bye", "good":
print("bye")
default:
print("Hello")
}
코드블럭을 사용하니 에러때문인지 알 수는 없지만 들여쓰기가 이상해졌다.
이렇게 Kotlin처럼 case 두 개를 같이 사용하면 실행문이 없는 윗 실행문이 error가 발생한다.
따라서 여러 조건이 하나의 실행문으로 묶이려면 case에 콤마를 사용하면 된다.
"..."을 통해 case문에 조건을 범위로 지정 가능하다.
추가로 Swift에서는 fallthrough 키워드를 사용해 break를 무시할 수 있다.
728x90
반응형
'Language > Swift' 카테고리의 다른 글
Swift - 옵셔널(Optional) (0) | 2022.09.22 |
---|---|
Swift - 반복문 (for-in, while, repeat-while) (0) | 2022.09.21 |
Swift - 함수 고급 (0) | 2022.09.17 |
Swift - 함수 기본 (0) | 2022.09.16 |
Swift - 컬렉션 타입(Collection Type) - Array, Dictionary, Set (0) | 2022.09.15 |