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