📜  Rust - If-else 语句(1)

📅  最后修改于: 2023-12-03 15:19:52.881000             🧑  作者: Mango

Rust: if-else 语句

在 Rust 编程语言中,if-else 语句是一种控制结构,用于根据条件执行不同的代码块。

基本语法

Rust 的 if-else 语句的基本语法如下:

if condition {
    // code to execute if condition is true
} else {
    // code to execute if condition is false
}

其中,condition 是一个布尔表达式,如果为 true,则执行第一个代码块;否则执行第二个代码块。

需要注意的是,Rust 的 if-else 语句是表达式,因此可以在变量初始化中使用:

let x = if condition {
    // code to execute if condition is true
    1
} else {
    // code to execute if condition is false
    -1
};

这样,如果条件为真,x 将被初始化为 1,否则将被初始化为 -1。

else if

在 Rust 中,可以使用 else if 关键字来添加多个条件子句。基本语法如下:

if condition1 {
    // code to execute if condition1 is true
} else if condition2 {
    // code to execute if condition2 is true
} else {
    // code to execute if all conditions are false
}

需要注意的是,else if 分支必须包含一个新的布尔表达式。

match 表达式

在 Rust 中,match 表达式可以替代较长的 if-else-if 语句。基本语法如下:

match value {
    pattern1 => {
        // code to execute if value matches pattern1
    },
    pattern2 => {
        // code to execute if value matches pattern2
    },
    _ => {
        // code to execute if value does not match any of the patterns
    }
}

这里 value 是要比较的值,pattern1pattern2 是两个模式匹配,当值和模式匹配时执行相应的代码块。最后的 _ 是一个通配模式,当所有模式都无法匹配时执行。

示例代码

以下是一个使用 if-else 语句的示例代码:

fn main() {
    let number = 5;

    if number % 2 == 0 {
        println!("{} is even", number);
    } else {
        println!("{} is odd", number);
    }
}

输出:5 is odd

以下是一个使用 match 表达式的示例代码:

fn main() {
    let number = 7;

    match number {
        0 => println!("zero"),
        1 => println!("one"),
        2..=5 => println!("small"), // 2, 3, 4, or 5
        6..=9 => println!("large"), // 6, 7, 8, or 9
        _ => println!("other")
    }
}

输出:large