在 Rust 中,循环语句用于重复执行一段代码,直到满足特定条件。Rust 提供了几种类型的循环结构来满足不同的需求,包括 loop、while 和 for 循环。
loop 循环
loop 是一个无限循环关键字,它会一直执行循环体中的代码,直到使用 break 或 return 语句终止循环。loop 循环常用于需要持续运行直到满足特定条件的场景。
示例:简单的无限循环
fn main() {
loop {
println!("Hello, World!");
}
}上面的代码将不断打印 "Hello, World!",直到程序被强制停止。为了防止这种情况,我们可以使用 break 来跳出循环:
// www.javascriptcn.com code example
fn main() {
let mut count = 0;
loop {
count += 1;
if count == 3 {
break; // 当计数达到3时跳出循环
}
println!("Count: {}", count);
}
}在上面的例子中,循环会在 count 达到 3 时停止,并输出三次 "Count: x"。
while 循环
while 循环允许根据条件来决定是否执行循环体中的代码。循环体内的代码块会反复执行,直到指定的布尔表达式变为 false。
示例:基于条件的循环
// www.javascriptcn.com code example
fn main() {
let mut number = 3;
while number != 0 {
println!("{}", number);
number -= 1;
}
println!("LIFTOFF!!!");
}在这个例子中,当 number 不等于 0 时,循环会继续执行。每次迭代都会递减 number 的值,直到它变为 0。
for 循环
for 循环是另一种常用的循环结构,主要用于遍历集合中的元素。它可以简化对容器或迭代器的遍历操作,提供了一种更简洁的方式来处理数据。
示例:遍历数组
fn main() {
let a = [10, 20, 30, 40, 50];
for element in a.iter() {
println!("the value is: {}", element);
}
}在这个例子中,我们使用 for 循环遍历了数组 a 中的所有元素。iter() 方法返回一个迭代器,它会逐个返回数组中的每个元素。
示例:使用范围进行循环
fn main() {
for number in (1..4).rev() {
println!("{}!", number);
}
println!("LIFTOFF!!!");
}这段代码首先创建了一个从 1 到 3(不包括 4)的范围,然后使用 .rev() 方法反转该范围,使得循环从 3 开始倒序执行。这会产生 "3!"、"2!"、"1!" 的输出,最后输出 "LIFTOFF!!!"。
循环控制语句
除了前面提到的 break 之外,Rust 还支持 continue 关键字,用于跳过当前循环体的剩余部分并开始下一次迭代。
示例:使用 continue 跳过某些迭代
fn main() {
for i in 0..10 {
if i % 2 == 0 {
continue; // 跳过偶数
}
println!("{}", i);
}
}在这段代码中,当 i 是偶数时,continue 语句将被触发,从而跳过本次循环的剩余部分。因此,只有奇数会被打印出来。
以上就是 Rust 中循环语句的基本用法和示例。熟练掌握这些概念对于编写高效的 Rust 程序至关重要。