目录
什么是 Rust 循环
Rust 循环是用于重复执行代码块的控制流结构。Rust 提供了三种主要循环类型:loop
、while
和 for
,每种适用于不同场景。
为什么要使用循环
- 重复执行:处理重复任务。
- 迭代数据:遍历集合或范围。
- 动态控制:根据条件决定循环次数。
- 简洁性:减少代码冗余。
循环类型
loop
:
- 无限循环,直到显式退出。
- 常与
break
配合使用。
while
:
- 条件循环,当条件为
true
时执行。
for
:
- 迭代器循环,遍历范围或集合。
- 最常用且安全。
循环控制
break
:退出循环,可带返回值(仅loop
)。continue
:跳过当前迭代,继续下一次。
let mut x = 0;
loop {
if x == 5 {
break;
}
x += 1;
}
嵌套循环与标签
- 嵌套循环:循环中包含循环。
- 标签:使用
'label
命名循环,与break
或continue
结合控制特定循环。
'outer: for i in 0..3 {
for j in 0..3 {
if j == 2 {
break 'outer;
}
}
}
代码示例
loop 示例
fn main() {
let mut count = 0;
let result = loop {
count += 1;
if count == 3 {
break count * 10; // 返回值
}
};
println!("Result: {}", result);
}
运行结果:
Result: 30
while 示例
fn main() {
let mut number = 5;
while number > 0 {
println!("Countdown: {}", number);
number -= 1;
}
println!("Done!");
}
运行结果:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1
Done!
for 示例
fn main() {
for i in 1..=3 { // 包含上界
println!("Number: {}", i);
}
let arr = [10, 20, 30];
for elem in arr.iter() {
println!("Element: {}", elem);
}
}
运行结果:
Number: 1
Number: 2
Number: 3
Element: 10
Element: 20
Element: 30
嵌套循环与标签
fn main() {
'outer: for i in 0..3 {
for j in 0..3 {
println!("i: {}, j: {}", i, j);
if i == 1 && j == 1 {
break 'outer;
}
}
}
}
运行结果:
i: 0, j: 0
i: 0, j: 1
i: 0, j: 2
i: 1, j: 0
i: 1, j: 1
参考资料与出站链接
- 官方文档:
- 学习资源:
- 社区支持:
发表回复