guard문

썹스·2022년 9월 29일
0

Swift 문법

목록 보기
4/68

guard문이란?

조건식의 결과(true, false)에 따라 실행할 코드를 결정해주는 역할을 하는 키워드를 조건문이라고 부릅니다.

대중적인 프로그래밍 언어(C, C++, java 등)에서는 조건식이 참(true)일 때 실행하는 if문switch문을 일반적으로 사용합니다.

하지만 Swift에서는 특정 조건식이 거짓(false)일 때 실행하는 조건문인 guard문이 존재하며, 자주 사용됩니다.


다른 조건문을 놔두고 guard문을 왜?/어떻게?/언제? 사용할까??🤔


📌 guard문

  • guard문은 조건식이 거짓(false)이면 실행하는 조건문입니다. 특정 조건식이 거짓(false)인 경우 guard문 안의 코드를 실행되며, 참(true)인 경우에는 해당 조건식을 무시합니다.
  • guard문단독으로 사용하는 경우가 거의 없으며, 주로 함수 안에서 사용됩니다. 때문에 함수 코드 블록을 빠져나갈 수 있게 해주는 키워드(break, return, continue 등)를 같이 사용해야 합니다.
    (함수뿐만 아니라 조건문, 반복문 등에서도 사용할 수 있습니다.)

  • guard문을 사용하는 이유는 특정 조건식이 맞지 않을 경우 현재의 함수나 반복문에서 빠르게 빠져나올 수 있는 조기 출구(early exit) 전략을 사용하기 위해 사용됩니다. 이러한 조기 출구 전력이 코드의 가독성을 높여주기 때문에 코드의 성능을 높이는 효과를 가지고 있습니다.

✅ guard문의 기본 구조

guard <조건식> else{
     //조건식이 거짓일 경우에 실행되는 코드
     코드 블록을 빠져나갈 수 있게 해주는 구문(break, return, continue)
}
//표현식이 참일 경우에 실행되는 코드

✅ 함수 안에서 guard문 사용

func bmi(w: Double, h: Double) -> String{
    guard w < 200.0 else{
        print("에러 발생(무게 초과).")  //생략 가능
        return "200Kg을 초과하면 계산할 수 없습니다." // 함수 종료 코드
    }
   
    let bmi = w + (h * h)
    return String(bmi)
}

print(bmi(w: 201, h: 1.8))


/*출력 결과
에러 발생(무게 초과).
200Kg을 초과하면 계산할 수 없습니다.
*/
profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글