Rust Control Flow

이승훈·2024년 4월 23일

if Expressions

fn main() {
    let number = 3;

    if number < 5 {
        println!("condition was true");
    } else {
        println!("condition was false");
    }
}

단, Rust 에서는 0이 아닌 숫자라고 true 로 판단하지 않습니다. 명시적으로 조건을 제시해야 합니다.그래서 아래의 코드는 에러를 발생시킵니다.

fn main() {
    let number = 3;

    if number {
        println!("number was three");
    }
}

Handling Multiple Conditions with else if

Rust는 첫 번째 true 조건의 블록만 실행하고 나면 나머지를 확인하지 않습니다.

fn main() {
    let number = 6;

    if number % 4 == 0 {
        println!("number is divisible by 4");
    } else if number % 3 == 0 {
        println!("number is divisible by 3");
    } else if number % 2 == 0 {
        println!("number is divisible by 2");
    } else {
        println!("number is not divisible by 4, 3, or 2");
    }
}

위 코드를 실행하면 number is divisible by 3 를 출력합니다.

Using if in a let Statement

if가 표현식인 경우, let 문의 오른쪽에 사용하여 결과를 변수에 할당할 수 있습니다.

fn main() {
    let condition = true;
    let number = if condition { 5 } else { 6 };

    println!("The value of number is: {number}");
}

if의 각 분기에서 가능한 결과값은 동일한 유형이어야 합니다. 그래서 아래 코드는 에러를 발생시킵니다.

fn main() {
    let condition = true;

    let number = if condition { 5 } else { "six" };

    println!("The value of number is: {number}");
}
profile
안녕하세요!

0개의 댓글