if/else
if
-else
를 사용하는 분기 방법은 다른 언어와 유사합니다.
하지만, 대다수의 언어와 달리 boolean 조건을 괄호로 묶을 필요가 없으며,
각 조건 뒤에는 블록이 반드시 따라붙습니다.
if
-eles
조건문 또한 표현식이며, 모든 갈래는 동일한 타입을 반환해야 합니다.
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); }