Rust 编程中的 While 和 For 循环


众所周知,Rust 提供了一个 loop 关键字来运行一个无限循环。但是任何编程语言中要运行循环的最传统方式是使用 while 循环或 for range 循环。

While 循环

while 循环用于在某个条件的值为 true 之前执行一段代码块。一旦条件变为 false,循环将 break 掉,然后评估循环之后的内容。在 Rust 中,这种情况大致相同。

示例

考虑以下所示的示例

演示实例

fn main() {
   let mut z = 1;
   while z < 20 {
      if z % 15 == 0 {
         println!("fizzbuzz");
      } else if z % 3 == 0 {
         println!("fizz");
      } else if z % 5 == 0 {
         println!("buzz");
      } else {
         println!("{}", z);
      }
      z += 1;
   }
}

在以上代码中,我们使用了 while 关键字,其后面紧跟一个条件 ( z < 20 ) 并且只要该条件的值被评估为 true,while 块内的代码就会运行。

输出

1
2
fizz
4
buzz
fizz
7
8
fizz
buzz
11
fizz
13
14
fizzbuzz
16
17
fizz
19

范围取值

Rust 编译器提供的 for in 构造函数用于遍历一个 Iterator。我们使用 a..b 表示法,它以步长为 1 返回 [a,b) 。

示例

考虑以下所示的示例

演示实例

fn main() {
   for z in 1..20 {
      if z % 15 == 0 {
         println!("fizzbuzz");
      } else if z % 3 == 0 {
         println!("fizz");
      } else if z % 5 == 0 {
         println!("buzz");
      } else {
         println!("{}", z);
      }
   }
}

输出

1
2
fizz
4
buzz
fizz
7
8
fizz
buzz
11
fizz
13
14
fizzbuzz
16
17
fizz
19

更新于: 05-4 月-2021

136 次浏览

开启您的事业

完成课程即可获得认证

开始
广告