본문 바로가기
iOS

[33일차] guard let과 if let 차이점

by 디지털노마더 2020. 9. 19.
guard let track = item else { return }

guard 뒤에 따라붙는 코드의 실행 결과가 true일 때 코드가 계속 실행됩니다.

if 구문과는 다르게 guard 구문은 항상 else 구문이 뒤에 따라와야 합니다.


만약 guard 뒤 따라오는 Bool 값이 false라면 else의 블록 내부 코드를 실행하게 됩니다.
이 내부 코드에는 자신보다 상위 코드 블록을 종료하는 코드가 반드시 들어가게 됩니다.
코드 블록 종료시 return, break, continue, throw 등 제어문 전환 명령을 사용합니다.

 

if let prefix = rawPrefix {
    print(prefix+name)
}
else {
    print("need prefix")
}

if let은 조건에 따라 다른 결과값을 도출해내야 할 때 사용한다.

옵셔널 바인딩 된 상수는 그 블럭 안에서만 변수가 사용 가능합니다.

 

정리하자면, guard let은 일반변수처럼 사용 가능하면서 예외사황에 대한 처리가 필수적이다.

if let은 if, else 블럭에서만 구분하여 사용이 가능하다는 차이점이 있다.

 

댓글