[Swift] if let vs guard let

Jay SJ Baek·2021년 3월 9일
0

Swift Basic

목록 보기
3/8

if let vs guard let (if let, guard let 차이 비교)

1. if-let

  • optional 타입의 값이 nil인지 판단하고 nil이 아닐 경우 if 블럭 안에서 optional이 unwrapped 된 상태로 사용 가능하다.
  • if-let을 사용할 때는 추출하려는 변수의 이름과 동일하게 사용해도 상관 없다.

2. guard-let

  • guard 뒤에 조건이 true일 때 코드가 계속 실행되며 반드시 뒤에 else 구문이 필요하다.

  • guard 뒤 조건이 false라면 else 블럭이 실행되며, 자신보다 상위 코드 블록을 종료하는 코드가 반드시 들어가야한다. (return, break, continue, throw)

  • 옵셔널 바인딩으로 사용할 경우 guard 구문 실행 코드 아래부터 함수 블럭 내의 지역상수처럼 사용 가능하다.

guard-let의 장점:

  • 예외사항만을 처리하고 싶을 때에는 guard 구문을 사용하는 것이 더 간편하다.

3. if-let guard-let 사용

  • 전환 제어문(return...)을 사용할 수 있으며 함수 블럭 안에서 변수를 활용하고 싶을 때에는 guard let을 사용한다.
  • 위의 경우가 아니며 간단하게 if 블럭 안에서만 해당 변수를 사용할 경우는 if let을 사용한다.
profile
iOS Developer

0개의 댓글