if 구문과 마찬가지로 주어진 표현식의 결과가 참인지 거짓인지에 따라 구문의 실행 여부를 결정짓는 방식의 조건문입니다.
if 구문과의 차이점은 guard 구문에는 else 블록이 필수이지만, 표현식의 결과가 참일 때 실행되는 블록이 없다는 점입니다.
guard 구문은 주로 후속 코드들이 실행되기 전에 반드시 특정 조건을 만족하는지 확인하는 용도로 사용합니다. 다시 말해 guard 구문은 특정 조건을 만족하지 않은 채 후속 코드를 실행하면 심각한 오류가 발생하는 경우, 그 대신 전체 구문을 조기 종료하기 위한 목적으로 사용됩니다.
따라서 guard 구문의 else 블록을 작성할 때에는 이후의 코드가 더 진행되지 않게 처리하는 작업이 필요합니다. 주로 함수나 메소드에서 return 구문이 이 역할을 합니다
<표현식>
guard 특정 조건 또는 표현식 else{
실행할 구문(조건 또는 표현식의 결과가 false일 때)
}
<예제 코드>
func divide(base:Int){
guard base != 0 else{
print("x")
return
}
let resutl = 100 / base
print(resutl)
}
divide(base: 0) // "x"
divide(base: 20) // 5
댓글 없음:
댓글 쓰기