Rust中的 if 表达式


if 表达式允许根据条件的不同而执行不同的代码分支,如果条件满足,则运行某段代码,如果条件不满足则不运行这段代码;

fn main(){
    let age = 15;

    if age >= 18 {
        println!("已成年!");
    }else{
        println!("还未成年!")
    }
}

需要注意的是,if 表达式中的条件必须是 bool值,Rust不会自动将非布尔值转换成布尔值;下面这段代码将产生一个错误:

fn main(){
    let number = 1;
    if number {
        println!("{}",number);
    }
}

else if 处理多个分支

可以将 else if 表达式与 ifelse 表达式组合来处理多个条件;

fn main() {
    let age = 19;

    if age >= 1 && age <= 4 {
        println!("幼儿");
    } else if age >= 5 && age <= 11 {
        println!("儿童");
    } else if age >= 12 && age <= 18 {
        println!("少年");
    } else if age >= 19 && age <= 35 {
        println!("青年");
    } else if age >= 36 && age <= 59 {
        println!("中年");
    } else if age >= 60 {
        println!("老年");
    } else {
        println!("婴儿");
    }
    
}

在 let 语句中使用 if

因为 if 是一个表达式,我们可以在 let 语句的右侧使用它:

fn main() {
    let age = 5;

    let price = if age > 18 { 20 } else { 10 };

    println!("The price of the ticket is {} Yuan.", price);
}

运行结果

The price of the ticket is 10 Yuan.

如需转载,请注明出处;本文地址:https://www.perfcode.com/p/if-expressions-in-rust.html