Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

if/else

if-else를 사용한 분기는 다른 언어와 유사합니다. 많은 언어와 달리 불리언 조건은 괄호로 둘러쌀 필요가 없으며, 각 조건 뒤에는 블록이 옵니다. if-else 조건문은 표현식이며, 모든 분기는 동일한 타입을 반환해야 합니다.

fn main() {
    let n = 5;

    if n < 0 {
        print!("{}은(는) 음수입니다", n);
    } else if n > 0 {
        print!("{}은(는) 양수입니다", n);
    } else {
        print!("{}은(는) 0입니다", n);
    }

    let big_n =
        if n < 10 && n > -10 {
            println!(", 그리고 작은 수이므로 10배 증가시킵니다");

            // 이 표현식은 `i32`를 반환합니다.
            10 * n
        } else {
            println!(", 그리고 큰 수이므로 반으로 나눕니다");

            // 이 표현식 또한 `i32`를 반환해야 합니다.
            n / 2
            // TODO ^ 세미콜론을 사용하여 이 표현식을 억제해 보세요.
        };
    //   ^ 여기에 세미콜론을 넣는 것을 잊지 마세요! 모든 `let` 바인딩에 필요합니다.

    println!("{} -> {}", n, big_n);
}