break
- 현재 반복문에서 빠져나와 반복문 다음의 코드로 이동하여 실행
continue
- 반복문의 나머지 코드를 건너뛰고 반복문의 처음으로 다시 돌아감
guard 구문
- 불리언 표현식을 포함, true일 때만 guard 구문 다음에 위차한 코드가 실행됨
- false일 때 수행될 else 절을 반드시 포함해여 함
- else 절의 코드는 반드시 현재의 코드 흐름에서 빠져나가는 구문(return, break, continue, throw)을 포함해야 함
- else 블록은 자기 자신을 반환하지 않는 다른 함수나 메서드 호출 가능.
guard <조건문(불리언 표현식)> else{
// 조건문이 false일 때 실행될 코드
<종료 구문>
}
// 조건문이 true 일 때 실행될 코드
func multiplyByTen(value : Int?){
guard let number = value, number < 10 else{
print("Number is too high")
return
}
let result = number * 10
print(result)
}
multiplyByTen(value: 5) // 50
multiplyByTen(value: 10) // Number is too high
- 옵셔널 형태의 정숫값을 매개변수로 받음
- guard 구문은 값을 언래핑하기 위해 옵셔널 바인딩 사용, 10보다 작은지 판단
- 값을 언래핑할 수 없거나, 언래핑 값이 9보다 큰 경우, else 절 실행
- 10보다 작은 경우 guard 구문 이후 코드가 실행됨
- number 변수는 guard 구문 밖에서도 유효함
switch
let value = 4
switch(value){
case 0:
print("zero")
case 1:
print("one")
case 2:
print("two")
case 3:
print("three")
case 4:
print("four")
default:
print("Integer out of range")
}
// four
- case 구문 결합
let value = 2
switch(value){
case 0, 1, 2:
print("zero, one or two")
case 3:
print("three")
case 4:
print("four")
default:
print("Integer out of range")
}
// zero, one or two
- switch 구문에서 범위 매칭
let temperature = 83
switch (temperature){
case 0...49 :
print("Cold")
case 50...79 :
print("Warm")
case 80...110 :
print("Hot")
default :
print("Temperature out of range")
}
// Hot
- where 구문 사용하기
- 값이 범위 조건에 일치하는지 검사할 뿐 아니라, 그 숫자가 홀수 인지 짝수인지 검사
let temperature = 54
switch (temperature){
case 0...49 where temperature % 2 == 0 :
print("Cold and Even")
case 50...79 where temperature % 2 == 0:
print("Warm and Even")
case 80...110 where temperature % 2 == 0:
print("Hot and Even")
default :
print("Temperature out of range")
}
// Warm and Even
- fallthrough
- 다른 언어와 달리 case 구문 끝에 break를 사용할 필요 없이 자동으로 구문 밖으로 빠져나감
- fallthrough 구문을 사용하면 switch 구현부에 예외상황 효과를 주어, 실행 흐름이 그 다음의 case 구문으로 계속 진행하게 할 수 있음
- 또한 break는 자주 사용되진 않지만 default 문에서 작업이 필요없으면 break 사용
let temperature = 54 switch (temperature){ case 0...49 where temperature % 2 == 0 : print("Cold and Even") fallthrough case 50...79 where temperature % 2 == 0: print("Warm and Even") fallthrough case 80...110 where temperature % 2 == 0: print("Hot and Even") fallthrough default : break // break는 자주 사용되진 않지만 default 문에서 작업이 필요없으면 break 사용 } /* Warm and Even Hot and Even */
'Swift' 카테고리의 다른 글
Swift - 5. 객체 지향 프로그래밍 기초 (0) | 2023.12.27 |
---|---|
Swift - 4. 함수, 메서드, 클로저 개요 (1) | 2023.12.26 |
Swift - 2. 연산자와 표현식 (0) | 2023.12.24 |
Swift - 1. 데이터 타입 (0) | 2023.12.24 |
Swift - Dictionary (0) | 2023.09.02 |