13 控制流之条件语句

在上一篇教程中,我们讨论了数据类型及其类型转换。在本篇教程中,我们将深入探讨 Rust 的控制流中的条件语句部分。条件语句允许我们根据程序状态的不同,执行不同的代码块,这是编程中的基本构建块之一。接下来,我们将通过相关的案例代码来深入理解 Rust 中的条件表达式。

条件语句的基本结构

Rust 中的条件语句通常使用 ifelse ifelse 语句来实现。它们的基本语法如下:

1
2
3
4
5
6
7
if condition {
// 当 condition 为 true 时执行的代码
} else if another_condition {
// 当 another_condition 为 true 时执行的代码
} else {
// 当上述条件都为 false 时执行的代码
}

示例:简单的条件语句

我们来看一个简单的例子,检查一个数字是正数、负数还是零:

1
2
3
4
5
6
7
8
9
10
11
fn main() {
let number = 10;

if number > 0 {
println!("这是一个正数。");
} else if number < 0 {
println!("这是一个负数。");
} else {
println!("这个数字是零。");
}
}

在这个例子中,我们定义了一个名为 number 的变量,然后通过if-else结构判断其正负性质并输出相应的结果。

使用布尔值的条件语句

Rust 也允许我们使用布尔值得出条件判断。如下所示:

1
2
3
4
5
6
7
8
9
fn main() {
let is_raining = true;

if is_raining {
println!("记得带伞!");
} else {
println!("今天天气晴好!");
}
}

在以上示例中,根据布尔值 is_raining 的值,我们输出了不同的提示信息。

使用 match 进行模式匹配

除了 if 语句外,Rust 还提供了另一种强大的条件控制结构——matchmatch 可以用于模式匹配,它在某些情况下比 if 语句更为简洁和优雅。其基本语法如下:

1
2
3
4
5
6
7
8
9
10
11
match value {
pattern1 => {
// 匹配到 pattern1 时的代码
},
pattern2 => {
// 匹配到 pattern2 时的代码
},
_ => {
// 默认情况
}
}

示例:使用 match 进行条件判断

下面是一个使用 match 的例子,根据一个数字输出其分类:

1
2
3
4
5
6
7
8
9
fn main() {
let number = 0;

match number {
0 => println!("这是零。"),
1..=10 => println!("这是一个在1到10之间的数字。"),
_ => println!("这是一个大于10的数字。"),
}
}

在这个例子中,我们使用 match 语句判断 number 的值并进行分类。1..=10 是一个范围模式,表示所有从1到10的数字。

总结

在本篇文章中,我们学习了 Rust 中的条件语句,包括 ifelsematch 等语法结构。这些条件语句允许我们根据不同的情况执行不同的代码,是控制程序流的重要工具。在下一篇文章中,我们将继续讨论控制流中的循环语句,进一步扩展 Rust 编程的基本知识。

希望你能在实际编码中灵活运用这些条件语句,为你的 Rust 项目增添更多的逻辑与功能!

13 控制流之条件语句

https://zglg.work/rust-lang-zero/13/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论