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
-
while 循环
当循环中的迭代次数不确定或未知时,使用不定循环。while 限循环可以使用 -序号 名称和描述 1 Whilewhile循环执行指令的条件指定每次评估为True2 LoopLoop是一个while(TRUE)无限循环Illustration - while
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
Illustration -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