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
- 내_삶
- Switch
- 코드스니펫
- 다짐글
- 글또9기
- avaliable
- K디지털기초역량훈련
- 바이트디그리
- MyLife
- actionSheet
- On branch is up to date with ' '
- IOS
- ios 개발 강의
- 주간 달력
- unrecognized selector sent to class
- struct
- weekly calendar
- 회고
- uikit
- 글또
- 연관값
- 파스칼표기법
- 제어전송문
- class
- SWIFT
- 생명주기
- error해결
- AnyObject
- Git
- copy-on-write
Archives
- Today
- Total
seong_hye, the developer
Swift) 문법 정리 - guard문 본문
코드를 작성할 수록 if문이 깊어져서 불편했던 경험 없으신가요?
if문이 깊어지게 되면 지속적으로 들여써야해서 코드의 가독성이 안좋아져요.
이를 위해 사용하는 것이 바로
guard문 입니다.
'guard: 감시하다' 라는 뜻으로
조건을 일찍 감시하고 코드가 진행될 수 있도록 도와준다.
조건이 틀린 경우는 진행하던 작업을 일찍 끝내버리고, 우리가 원하는 조건의 경우에만 진행하도록 해준다.
if문은 '~면 ~해라' 라는 뜻이라면, guard는 '~아니면 끝내라' 라는 의미이기 때문이다.
따라서 guard문은 '빠른 종료'를 해주는 것이 핵심이다.
guard 조건문 else {return}
//code
조건을 만족하지 않는 경우 -> else
이른 판별 후, 조기 종료가 가능해졌다.
[ 함수에서는 return, throw / 반복문에서는 break, continue ]
조기종료: 조건을 만족하지 않을 때 실행하고, 종료 시킬 코드가 있어야 한다.
조건을 만족하는 경우
코드가 다음 줄로 넘어가서 계속 진행된다.
일반적으로 조건으로 걸러낼 때 사용하게 된다.
예시
func checkMoney(money: Int?)-> String {
//money가 옵셔널이라면 벗기는 작업
guard let money = money else { return "돈이 없습니다" }
print("\(money)만큼 돈이 존재합니다.")
}
if문보다 guard문을 사용하는 이유
가독성을 높이며 if문의 불편함을 해소한다.
여러개의 옵셔널타입을 안전하게 벗기는 것이 가능하다
- code 영역이 변경되지 않는다.
- guard 문에서 선언된 변수를 아래 문장에서 사용 가능하다.
참고자료)
'IOS' 카테고리의 다른 글
Swift) Alert vs Action Sheet (0) | 2022.07.19 |
---|---|
Swift) AutoLayout vs Frame (0) | 2022.07.19 |
Swift) 문법 정리 - inout 키워드 (0) | 2022.07.19 |
Swift)문법 정리 - 고차함수 (0) | 2022.07.12 |
Swift) 문법 정리 - 클로저 (0) | 2022.07.12 |
Comments