Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 옵셔널
- 비반환함수
- Server-Side-Rendering
- 중첩함수
- replacingOccurrences
- 함수형프로그래밍
- JavaScript
- SWIFT
- client-side-rendering
- 동적언어
- multiline
- next.js
- DelayInput
- 프로그래머스
- ReactNative
- lineending
- reactnative android
- ios
- textinput
- beforePopState
- 17681
- 약타입언어
- 72410
- 나를부르는숲
- reactnavigation
- 약타입
- 스위프트
- switch구문
- 데이터타입함수
- 리액트네이티브
Archives
- Today
- Total
으니의 개발로그
[Swift] 함수(6) - 종료되지 않는 함수 본문
[Swift] 함수(6) - 종료되지 않는 함수
이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다.
종료되지 않는다는 의미는 정상적으로 끝나지 않는 함수라는 뜻이다. 이를 비반환 함수(Nonreturning function) 또는 비반환 메서드(Nonreturning function)라고 한다. 비반환 함수는 어디서든 호출이 가능하고 guard
구문의 else
블록에서도 호출할 수 있다. 비반환 메서드는 재정의는 할 수 있지만 비반환 타입이라는 것은 변경할 수 없다.
비반환 함수는 반환 타입을 Never
라고 명시해주면 된다.
func crashAndBurn() -> Never {
fatalError("Something very, very bad happened")
}
crashAndBurn() // 프로세스 종료 후 오류 보고
func someFunction(isAllIsWell: Bool) {
guard isAllIsWell else {
print("마을에 도둑이 들었습니다!")
crashAndBurn()
}
print("All is well")
}
someFunction(isAllIsWell: true)
/* All is well */
someFunction(isAllIsWell: false)
/* 마을에 도둑이 들었습니다!
Fatal error: Something very, very bad happened: file __lldb_expr_77/7.4 종료되지 않는 함수.playground, line 4
*/
'Swift > 책 정리' 카테고리의 다른 글
[Swift] 옵셔널(1) - 옵셔널 사용 (0) | 2021.02.01 |
---|---|
[Swift] 함수(6) - 반환 값을 무시할 수 있는 함수 (0) | 2021.01.30 |
[Swift] 함수(5) - 중첩 함수 (0) | 2021.01.29 |
[Swift] 함수(4) - 데이터 타입으로서의 함수 (0) | 2021.01.28 |
[Swift] 함수(3) - 반환이 없는 함수 (0) | 2021.01.28 |