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
无限循环
当循环中的迭代次数不确定或未知时,使用无限循环。
可以使用以下方式实现无限循环 −
Sr.No | 名称 & 描述 |
---|---|
1 | While while 循环在每次指定的条件计算结果为 true 时执行指令 |
2 | Loop Loop 是一个 while(true) 无限循环 |
示例 − for 循环
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
示例 −loop
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