《Rust编程入门》5.2 循环(loop、while和for)
5.2 循环(loop、while 和 for)
循环是程序控制流程的核心工具之一,用于反复执行一段代码直到满足某些条件。Rust 提供了三种主要的循环结构:loop、while 和 for。每种循环在不同场景下都有独特的优势。
5.2.1 无条件循环:loop
loop 是 Rust 中的无限循环,通常用于需要不断运行的场景,比如服务器监听。可以使用 break 关键字退出循环。
基本用法
|
|
带返回值的 loop
loop 可以通过 break 返回一个值,这在某些情况下非常有用。
|
|
5.2.2 条件循环:while
while 循环在每次迭代前检查条件,当条件为 false 时退出循环。
基本用法
|
|
常见错误:条件永远为真
注意避免创建条件永远为真的 while 循环,这可能导致程序无限执行。
5.2.3 遍历集合:for
for 循环是 Rust 中最常用的循环结构,用于遍历集合或范围。for 循环的语法简单、安全,不容易出错。
遍历范围
for 循环可以通过 .. 或 ..= 操作符生成数值范围。
start..end:左闭右开区间,包含start不包含end。start..=end:左闭右闭区间,包含start和end。
|
|
遍历集合
Rust 提供了强大的迭代器,可以用 for 遍历集合类型,如数组和向量。
|
|
使用 enumerate
enumerate 方法可以同时获取索引和值。
|
|
5.2.4 控制循环的执行
1. 跳过本次循环:continue
continue 关键字会跳过当前循环的剩余部分,直接进入下一次迭代。
|
|
2. 退出循环:break
break 关键字立即终止循环。
3. 标记循环:标签
在嵌套循环中,可以使用标签指定要控制的循环。
|
|
5.2.5 比较三种循环
| 特性 | loop |
while |
for |
|---|---|---|---|
| 使用场景 | 无限循环,直到明确退出 | 条件控制循环 | 遍历集合或范围 |
| 退出方式 | break |
条件为假 | 自动退出,无需显式控制 |
| 是否简洁 | 灵活,但代码可能较冗长 | 条件明确,代码简洁 | 简单高效,特别适合集合或范围遍历 |
5.2.6 小结
Rust 提供了灵活的循环结构:
- 使用
loop实现无限循环,并通过break控制退出。 - 使用
while在满足条件时循环执行代码。 - 使用
for遍历范围或集合,是 Rust 编程中最安全、最推荐的循环方式。
在下一节中,我们将介绍 Rust 的模式匹配功能,通过 match 和 if let 提供更强大的流程控制能力。