《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
提供更强大的流程控制能力。