본문 바로가기

언어/Rust

[ Rust ] if - if문으로 흐름제어 하기

반응형

if 문은 조건에 따라 코드의 실행 흐름을 제어하는 데 사용됩니다. 러스트에서 if 문은 조건이 true일 경우에만 코드 블록을 실행합니다. 조건은 반드시 불리언 값이어야 하며, 러스트는 다른 언어처럼 0이나 빈 문자열과 같은 값을 암시적으로 false로 간주하지 않습니다.

기본 구조

if condition {
    // condition이 true일 때 실행되는 코드
} else {
    // condition이 false일 때 실행되는 코드
}

특징

  1. 조건은 반드시 bool 타입이어야 합니다.
  2. else if를 사용하여 여러 조건을 검사할 수 있습니다.
  3. 각 블록은 별도의 범위를 가지며, 중괄호 {}를 생략할 수 없습니다.
  4. if 문은 표현식으로 사용할 수 있으며, 값을 반환할 수 있습니다.

예제: 기본적인 if 문

fn main() {
    let number = 10;

    if number > 5 {
        println!("{}는 5보다 큽니다.", number);
    } else {
        println!("{}는 5보다 작거나 같습니다.", number);
    }
}

실행 결과

10는 5보다 큽니다.

예제: else if 사용하기

fn main() {
    let number = 0;

    if number > 0 {
        println!("양수입니다.");
    } else if number < 0 {
        println!("음수입니다.");
    } else {
        println!("0입니다.");
    }
}

실행 결과

0입니다.

예제: if 문을 표현식으로 사용하기

fn main() {
    let number = 10;

    let result = if number % 2 == 0 {
        "짝수"
    } else {
        "홀수"
    };

    println!("{}는 {}입니다.", number, result);
}

실행 결과

10는 짝수입니다.

예제: 중첩 if 문

fn main() {
    let x = 8;

    if x > 5 {
        if x % 2 == 0 {
            println!("{}는 5보다 크고 짝수입니다.", x);
        } else {
            println!("{}는 5보다 크고 홀수입니다.", x);
        }
    } else {
        println!("{}는 5보다 작거나 같습니다.", x);
    }
}

실행 결과

8는 5보다 크고 짝수입니다.

요약

  • if 문은 조건에 따라 실행 경로를 선택합니다.
  • else ifelse를 활용해 다양한 조건을 처리할 수 있습니다.
  • 표현식으로 사용할 때는 반환값을 변수에 저장할 수 있습니다.

러스트의 if 문은 명확한 타입과 간결한 표현식을 지원하여 안전하고 직관적인 흐름 제어를 제공합니다.

반응형