[Swift] guard 구문

yxxjxn·2023년 7월 7일

guard 구문의 else 절의 코드는 반드시 현재의 코드에서 빠져나가는 구문을 포함해야한다.

return, break, continue, throw

guard문 예제

guard let num = value, num < 10 else {
	return
}

if let num = value, num < 10 {
	return
}

print(num)

if문과 guard문 두가지의 차이가 뭐게?

  • print(num) 시 guard 구문은 언래핑 된 값을 사용할 수 있지만, if는 에러가 뜬다! ✨

💡 guard와 if문의 차이점이 뭘까?

  1. 가독성을 높임/if문의 불편함을 해소(조건을 만족해야 다음 문장, 조건 불만족 걸러내기)

    if condition {
    
    }
    
    guard condition else { return }
  2. 여러개의 옵셔널타입을 안전하게 벗기기 가능

    1. code의 영역이 변경되지 않음 (범위(Scope)에 대한 원칙에서 벗어나서 자유로운 코드작성)
    2. guard 문에서 선언된 변수를 아래문장에서 사용 가능 (동일한 범위(Scope) 취급)
profile
macos

0개의 댓글