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!(", 그리고 큰 수이므로 2로 나누겠습니다."); // 위 표현식이 `i32`를 반환하므로, 이 표현식도 `i32`를 반환해야 합니다. n / 2 // TODO ^ 이 표현식 뒤에 `;`를 넣어 보세요 }; // ^ 여기에 세미콜론을 붙여야 함을 기억하세요! 모든 `let` 바인딩 끝에는 세미콜론이 필요합니다. println!("{} -> {}", n, big_n); }