[Swift] Guard 구문

Jamong·2023년 1월 2일
0

Swift 기초 문법

목록 보기
1/2

프로그래머스에서 제한조건을 설정하면서 If 또는 Switch 구문을 사용하여 할 수도 있었지만 굳이 Guard 구문을 사용한 이유를 설명하려고 한다.

우리는 iOS 앱을 만들면서 guard 구문을 안쓰는 사람이 거의 없는 것인데, 다른 프로그래밍 언어에는 없는 guard 구문이 무엇이고 왜 사용하는지 알아보고자 한다.


Guard 구문 ( Guard Statement )

Guard 구문은 하나 이상의 조건이 충족되지 않을 때 범위 밖으로 프로그램 제어를 전송하기 위해 사용한다.
그렇기에 애플리케이션에서 조건이 맞지 않아 오류가 발생할 수 있는 상황에 자주 쓰이게 된다.

If 구문과 Guard 구문을 의미로 비교해보면
If 구문"조건이 충족하면 함수를 실행"이면 Guard 구문"조건이 충족하지 않으면 끝내거나 예외 처리" 로 설명할 수 있다.
그렇기에 Guard 구문은 예외 처리에 초점이 맞춰져 있어 오류로 인한 비정상적인 종료가 일어나서는 안 되는 애플리케이션에서 많이 사용하게 된다.

Guard 구문은 다음의 형식을 가진다.

// Guard.swift

guard condition (Bool 타입 값) else { 
	statements (예외 사항 실행문)
}

Guard 구문의 조건의 값의 타입(condition)은 Bool 타입이거나 Bool로 브릿지 된 타입이어야 한다.
조건은 옵셔널 바인딩 선언일 수도 있다.

If 구문과의 차이점은 Guard 구문에 예외 처리를 위한 else 절은 필수이고 종료하는 전환 명령어

  • return
  • break
  • continue
  • throw

구문 중 하나를 사용하여 프로그램 제어를 전송해야 한다.


결론

따라서 Guard 구문은 예외 처리에 사용하는 조건문으로
예외 처리 상황에 가독성 높은 코드를 작성하는데 도움을 준다.

profile
새해 목표 : 1일 1 깃, 블로그, 프로그래머스 2문제

0개의 댓글