[iOS_Swift] guard, guard let문
2021. 10. 20. 01:53ㆍProgramming/iOS_Swift
요즘 Guard문을 타입캐스팅을 할 때나 옵셔널바인딩을 할 때 주로 활용 중인데, 이걸 내가 제대로 이해를 못하고 쓰는 느낌이 강해서 개인적으로 정리가 필요했다.
guard문
guard문에 대해서 먼저 이해를 해보자면, guard문은 if ~ else문처럼 일종의 조건문이라고 이해하면 쉬울 것 같다. 둘의 차이점은 guard문이 if문에 비해서 상대적으로 간결하고 읽기 좋은 코드를 작성할 수 있다는게 첫 번째 차이점이며, 두 번째 차이점은 guard문의 경우 return, break 등의 명령어가 반드시 필요하다. 예시를 통해 보자.
숫자가 3보다 큰지를 판단하는 함수 안에 guard문과 if else문을 두개 다 넣었다. 두개다 모두 같은 결과를 반환하며, guard문이 확실히 간결하고 읽기 편하다는 것을 확인할 수 있다.
guard let문
guard문은 또한 옵셔널 바인딩을 할 때도 활용이 된다.
if let을 활용한 옵셔널 바인딩과 guard let을 활용한 옵셔널 바인딩을 해줬다. myName이 nil값이므로 guard let문 이하는 전혀 실행되지 않았음을 확인할 수 있다.
값이 있다면 정상적으로 실행이 된다 !!
'Programming > iOS_Swift' 카테고리의 다른 글
[iOS_Swift] 클로저(2) - 기본 클로저 (0) | 2021.11.03 |
---|---|
[iOS_Swift] 클로저(1) - 1급 객체(First-class Citizen) (0) | 2021.10.25 |
[iOS_Swift] 클래스(class)와 구조체(struct)의 이니셜라이저(initializer) (0) | 2021.10.18 |
[iOS_Swift] 타입 캐스팅(Type Casting) (0) | 2021.10.17 |
[iOS_Swift] 옵셔널(Optional), 옵셔널 바인딩(Optional Binding), 옵셔널 체이닝(Optional Chaining) (0) | 2021.10.14 |