📅  最后修改于: 2023-12-03 15:19:52.881000             🧑  作者: Mango
在 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。
在 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
分支必须包含一个新的布尔表达式。
在 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
是要比较的值,pattern1
和 pattern2
是两个模式匹配,当值和模式匹配时执行相应的代码块。最后的 _
是一个通配模式,当所有模式都无法匹配时执行。
以下是一个使用 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