🦜 Swift

[Swift] if let vs guard let

ji-hyun 2022. 11. 19. 01:18
if let xx = x {
        //xx는 여기서만 사용가능
    }
    else {
        print("x is Optional")
    }
    print(xx) //error!

 

if let의 경우에는 옵셔널 추출을 실패하여 false가 된 else문 뿐만 아니라 성공한 경우에도 제어를 할 수 있습니다.

하지만 할당 상수를 if문 안에서만 사용할 수 있습니다.

위의 코드처럼 실행을 해본다면 xx는 지역변수이기 때문에 오류가 발생하게 됩니다.

 

 

위의 코드를 보면 xx 는 전역변수로 쓸 수 없고 else 문은 통과하지 않는다. 반면

 

 

 

 

위의 코드는 else 문을 통과한다. (nil 일때)

 

 

 

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] guard let  (0) 2022.11.19
[Swift] if let  (2) 2022.11.18