铁锈 - 循环


可能存在需要重复执行一段代码的情况。一般来说,编程指令是按顺序执行的:首先执行函数中的第一条语句,然后执行第二条语句,依此类推。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们多次执行一条语句或一组语句。下面给出的是大多数编程语言中循环语句的一般形式。

循环语句

Rust 提供了不同类型的循环来处理循环需求 -

  • 尽管
  • 环形
  • 为了

定环

迭代次数是确定/固定的循环被称为确定循环。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

尽管

每次指定的条件计算结果为 true 时, while循环都会执行指令

2

环形

循环是一个 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 语句跳过当前迭代中的后续语句,并将控制权返回到循环的开头。与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