[swift] 제어문을 이용한 조건부 실행

Swift는 조건부 실행을 위해 다양한 제어문을 제공합니다. 이러한 제어문을 사용하면 코드의 특정 부분을 조건에 따라 실행하거나 무시할 수 있습니다. 이번 블로그 포스트에서는 Swift에서 제공하는 조건부 실행을 위한 제어문에 대해 알아보겠습니다.

1. if문

if문은 특정 조건이 참일 때만 코드 블록을 실행하는 제어문입니다. if문은 다음과 같은 형태로 사용됩니다:

if 조건 {
    // 조건이 참일 때 실행되는 코드
}

예를 들어, 다음과 같은 코드는 변수 score의 값이 80보다 큰 경우 “합격입니다!”라는 메시지를 출력합니다:

let score = 85

if score > 80 {
    print("합격입니다!")
}

만약 조건이 거짓일 때 실행할 코드가 있다면 else문을 사용할 수 있습니다:

let score = 70

if score > 80 {
    print("합격입니다!")
} else {
    print("불합격입니다!")
}

2. switch문

switch문은 다양한 경우의 수에 따라 실행할 코드를 선택하기 위해 사용됩니다. 각각의 경우는 case로 정의되며, 경우에 해당할 때 코드 블록이 실행됩니다. switch문은 다음과 같은 형태로 사용됩니다:

switch  {
case 패턴1:
    // 패턴1에 해당하는 코드
case 패턴2:
    // 패턴2에 해당하는 코드
// ...
default:
    // 모든 경우에 해당하지 않을 때 실행될 코드
}

예를 들어, 다음과 같은 코드는 변수 grade의 값에 따라 해당하는 등급을 출력합니다:

let grade = "A"

switch grade {
case "A":
    print("우수한 성적입니다!")
case "B":
    print("보통 성적입니다.")
case "C":
    print("미흡한 성적입니다.")
default:
    print("유효하지 않은 등급입니다.")
}

3. guard문

guard문은 특정 조건이 참일 때만 코드를 계속 실행하기 위해 사용됩니다. guard문은 다음과 같은 형태로 사용됩니다:

guard 조건 else {
    // 조건이 거짓일 때 실행되는 코드
    return
}

// 조건이 참일 때 실행되는 코드

guard문은 주로 함수나 메소드 내부에서 사용되며, 함수의 일차적인 목적을 보호하기 위해 사용됩니다. 예를 들어, 다음과 같은 코드는 함수 내부에서 특정 조건을 만족하지 않을 경우 바로 종료되도록 합니다:

func process(data: String?) {
    guard let validData = data else {
        print("데이터가 유효하지 않습니다.")
        return
    }

    // 데이터가 유효한 경우에만 실행되는 코드
    // ...
}

이렇게 guard문을 사용하여 조건을 만족하지 않을 때 빠르게 종료하고 원하는 기능을 보호할 수 있습니다.

마무리

제어문을 이용한 조건부 실행은 코드의 유연성과 로직의 제어를 위해 필수적입니다. Swift에서 제공하는 if문, switch문, guard문을 적절하게 사용하여 코드의 흐름을 조작할 수 있습니다. 적절한 조건부 실행을 통해 더욱 효율적이고 안정적인 코드를 작성할 수 있습니다.

더 많은 정보를 원하신다면 Swift 공식 문서를 참고하시기 바랍니다.