[swift] guard 문과 if 문의 차이점은 무엇인가요?

guard 문은 특정 조건이 충족되지 않으면 특정 블록에서 빠져나오는 데 사용됩니다. 일반적으로 guard 문은 함수나 메소드 내부에서 사용되며, 조건이 충족되지 않으면 빠르게 종료되어 코드 중복을 피할 수 있도록 도와줍니다. guard 문은 주로 옵셔널의 안전한 해제, 조건 검사, 이니셜라이저 전처리 작업 등에 사용됩니다.

if 문은 주어진 조건이 참일 때 코드 블록을 실행하는 데 사용됩니다. if 문은 조건부 코드 실행에 가장 기본적으로 사용되며 특정 조건에 따라 코드의 흐름을 제어합니다.

아래는 guard 문과 if 문의 간단한 예제입니다.

func greet(person: String?) {
    guard let name = person else {
        print("Person's name is not available")
        return
    }
    print("Hello, \(name)!")
}

func checkTemperature(temperature: Int) {
    if temperature > 30 {
        print("It's hot outside!")
    } else {
        print("Weather is moderate.")
    }
}

위의 예제에서 greet 함수는 person 파라미터에 대한 옵셔널 안전한 해제를 위해 guard 문을 사용하고, checkTemperature 함수는 기본적인 조건부 코드 실행을 위해 if 문을 사용하였습니다.

guard 문과 if 문은 각각 다른 용도에 사용되는데, guard 문은 조건이 충족되지 않으면 조기에 코드 실행을 종료하고 오류 처리에 초점을 맞추며, if 문은 조건부 코드 실행에 주로 사용됩니다.

참조: Apple Developer Documentation - The Swift Programming Language