Rust 循环
可能会有一些情况,需要重复执行一段代码。通常,编程指令按照顺序执行:函数中的第一条语句先执行,然后是第二条,依此类推。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们多次执行一个语句或一组语句。以下是大多数编程语言中循环语句的一般形式。
Rust提供了不同类型的循环来处理循环需求−
- while
- loop
- for
确定循环
迭代次数是确定/固定的循环称为确定循环。for循环是确定循环的一种实现。
For循环
for循环执行指定次数的代码块。它可用于迭代固定的值集合,如数组。for循环的语法如下所示:
语法
for temp_variable in lower_bound..upper_bound {
//statements
}
for循环的一个示例如下所示
fn main(){
for x in 1..11{ // 11 is not inclusive
if x==5 {
continue;
}
println!("x is {}",x);
}
}
注意 :变量x只在for循环块内部可访问。
输出
x is 1
x is 2
x is 3
x is 4
x is 6
x is 7
x is 8
x is 9
x is 10
无限循环
当循环中的迭代次数不确定或未知时,使用无限循环。
可以使用以下方式实现无限循环 –
序号 | 名称和描述 |
---|---|
1 | While 当条件为真时,每次执行指定的指令 |
2 | Loop 是一个无限循环,条件为while(true) |
图例 – 循环语句
fn main(){
let mut x = 0;
while x < 10{
x+=1;
println!("inside loop x value is {}",x);
}
println!("outside loop x value is {}",x);
}
输出如下:
inside loop x value is 1
inside loop x value is 2
inside loop x value is 3
inside loop x value is 4
inside loop x value is 5
inside loop x value is 6
inside loop x value is 7
inside loop x value is 8
inside loop x value is 9
inside loop x value is 10
outside loop x value is 10
插图 – 循环
fn main(){
//while true
let mut x = 0;
loop {
x+=1;
println!("x={}",x);
if x==15 {
break;
}
}
}
break语句用于跳出一个结构。在循环中使用break会导致程序退出循环。
输出
x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
x=11
x=12
x=13
x=14
x=15
Continue 语句
continue 语句跳过当前迭代中的后续语句,并将控制返回到循环的开头。与break语句不同,continue语句不会退出循环,而是终止当前迭代并开始下一次迭代。
下面是continue语句的一个示例。
fn main() {
let mut count = 0;
for num in 0..21 {
if num % 2==0 {
continue;
}
count+=1;
}
println! (" The count of odd values between 0 and 20 is: {} ",count);
//outputs 10
}
上述示例显示了0到20之间的偶数个数。如果数字是偶数,循环会退出当前迭代。这是通过使用continue语句实现的。
0到20之间的奇数个数为10。