Rust 中的 for 循环与范围(Range)详解

假设你有一个项目列表,并且想要遍历列表中的每一个项目。我们可以做的是使用 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。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/38948.html
点赞
0.00 平均评分 (0% 分数) - 0