반응형
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
- 앱만들기
- 데이터분석
- 구글스프레드시트
- 자동화
- 데이터
- 앱시트
- 데이터시각화
- 데이터모델링
- data
- appsheet
- 샤딩
- 인공지능
- nocode
- Python
- 어플
- 노코드
- app
- Looker
- 어플만들기
- 휴가관리
- openAI
- 노코드앱
- lookML
- 데이터저장
- 엑셀
- Java
- Ai
- 자바
- 파이썬
Archives
- Today
- Total
공부한 것 꼭꼭 씹어먹기
assert, guard 본문
반응형
assert
- 특정 조건을 체크하고, 조건이 성립되지 않으면 메세지를 출력하게 할 수 있는 함수
- assert함수는 디버깅 모드에서만 동작하고 주로 디버깅 중 조건의 검증을 위하여 사용
var value = 0
assert(value == 0) // 통과
value = 2
assert(value == 0, "값이 0이 아닙니다") // Assertion failed: 값이 0이 아닙니다 출력(에러도 발생)
guard문
- 뭔가를 검사하여 그 다음에 오는 코드를 실행할지 말지 결정하는 것
- guard문에 주어진 조건문이 거짓일때 구문이 실행됨
- 주로 잘못된 값이 함수에 들어오는 것을 방어함(early return)
func guardTest(value: Int) {
guard value == 0 else { return }
print("---")
}
guardTest(value: 2) // value가 0이 아니기 때문에 guard문에 막혀서(else로 빠짐) print가 실행 안된다
guardTest(value: 0) // print 실행됨
// guard문으로 옵셔널 바인딩
func guardTest(value: Int?) {
guard let zella = value else { return }
print(zella)
}
guardTest(value: 2) // 2가 출력됨.
// Optional(2)을 let value라는 변수에 대입할 수 있기 때문에 옵셔널 바인딩 됨(옵셔널 벗겨냄)
guardTest(value: nil) // 함수 실행 종료됨
// guard문으로 옵셔널 바인딩 하면 함수 내부 전역에서 해당 변수를 쓸 수 있다.
// (if로 하면 if 블럭에서만 그 변수가 유용함)
반응형
Comments