🦜 Swift

[Swift] guard let

ji-hyun 2022. 11. 19. 01:01

옵셔널 바인딩을 할 때 if let 뿐만 아니라 guard let이라는 것도 많이 쓰입니다.

둘은 거의 비슷하지만 약간의 차이가 있습니다. 일단은 코드를 써보면서 guard let을 이해해 보겠습니다.

 

 

위와 비슷한 코드를 하나 짰습니다.

옵셔널 상수 x와 옵셔널 상수 y에 각각 10과 nil로 초기화 해주고 이번에는 guard let을 써서 옵셔널을 추출했습니다.

if let과 구문은 비슷하지만 guard let에서는 else인 부분만 작성이 가능합니다.

 

즉, 값이 nil이여서 옵셔널 추출이 되지 않을때만 어떠한 행동을 취할 수 있죠.

 

그리고 만약 nil값이 아닐 걸 확인하고 옵셔널을 성공적으로 추출했다면 guard let문을 통과하게 되게 되는 거죠!

여기서 한가지 중요한 점이 있었는데 이렇게 guard let문을 통과하게 되면 저장된 상수는 전역변수로써 사용이 가능하다는 점입니다!

훨씬 편하게 사용할 수 있겠군요!!

 

guard let의 else문 안에는 항상 return 아니면 throw문이 와야 합니다.

여기서 throw문은 예외처리문으로 나중에 제대로 공부를 해보도록 하죠! 위 코드에서는 함수안에 guard let문이 있으므로 return을 썼습니다.

 

 

 

https://velog.io/@wook4506/iOS-Swift-%EC%98%B5%EC%85%94%EB%84%90-%EB%B0%94%EC%9D%B8%EB%94%A9-Optional-Binding

 

[iOS / Swift] Swift 문법을 알아보자! - 10편 : 옵셔널 바인딩 (Optional Binding)

안녕하세요 오늘은 오랜만에 스위프트 문법을 공부했습니다. 저번에 배웠던 Optional에서 좀 더 심화되는 내용입니다. 옵셔널 바인딩이란 옵셔널된 변수나 상수를 안전하게 unwrapping하는 방법입니

velog.io

 

'🦜 Swift' 카테고리의 다른 글

[Swift] 열거형  (0) 2022.11.19
[Swift] 클래스  (0) 2022.11.19
[Swift] 구조체  (0) 2022.11.19
[Swift] if let vs guard let  (0) 2022.11.19
[Swift] if let  (2) 2022.11.18