假设你有一个项目列表,并且想要遍历列表中的每一个项目。我们可以做的是使用 for 循环。通过使用 for 循环,我们可以迭代一系列项目。在 Rust 中,我们使用关键字 for,后跟变量名称或我们要迭代的项目范围。
让我们看一个 for 循环 的例子。
假设我们有一个数字列表,并且想要遍历列表中的每一个数字。
Rust
CODEBLOCK_1c16b881
在这里,INLINECODE21427c48 是我们用来遍历项目列表的关键字。变量名是 INLINECODE58546f76。项目列表是 numbers。这将打印出列表中的每一个数字。
输出:
1
2
3
5
For 和 Range(范围):
for 循环具有以下结构:
for iterator in range or vector{
// statement
}
在这里,我们使用 for 循环来执行重复性任务。for 循环总是以关键字 for 开始,我们可以使用 for 循环来代替 while 循环,以使我们的代码看起来更简洁。迭代器可以是任何变量。Rust 中的范围(Range)类似于 Python 语言中的 range 函数。使用范围,我们可以定义一系列数字。例如,我们可以使用以下语法定义从 1 到 10 的数字范围:
0..11
在这里,符号 a..b 用于定义范围。该范围包含开头(start)但不包含结尾(end)。如果我们想让范围包含结尾,我们可以使用范围语法 a..=b。
示例 1:
Rust
CODEBLOCK_faa47a3b
输出:
!imagefor loop with range
示例 2:
Rust
CODEBLOCK_77d0b11e
输出:
!imagerange and len()
在这里,0..colors.len() 是颜色的范围。该范围包含开头但不包含结尾。在这里,颜色数量是 3。len() 是字符串类型的一个方法,它返回列表中字符串的数量。
示例 3:
Rust
CODEBLOCK_d772e016
输出:
!imagerange and iter()
在这里,iter() 是向量类型的一个方法,它返回一个迭代器。INLINECODE5f223c96 是一个变量名,用于遍历向量。通常,INLINECODE0f00ab27 会在每次迭代中借用向量的每个元素。
示例 4:
Rust
CODEBLOCK_e8f4ffc5
输出:
!imageusing enumerate()
在这里,我们使用了向量类型的 enumerate() 方法。enumerate() 方法允许我们遍历向量并获取元素的索引。索引是从 0 开始的,这意味着枚举时的起始索引是 0,而不是 1。
示例 5:
Rust
CODEBLOCK_e7ca0652
输出:
!imageUsing step_by()
在这里,step_by() 方法允许我们按指定的步长遍历向量。在这种情况下,步长是 2。