for循环的基本使用
for
循环是 Rust 中用来遍历集合(如数组、向量、哈希映射等)的一种方法。它使得迭代集合中的元素变得非常直观和简洁。
示例:使用 for 循环遍历数组
fn main() { let numbers = [1, 2, 3, 4, 5]; for num in numbers.iter() { println!("当前数字是 {}", num); } }
在这个例子中,我们定义了一个名为 numbers
的数组,并使用 for
循环来遍历数组的每一个元素。iter()
方法返回一个迭代器,允许我们逐个访问数组中的每个元素。
使用范围进行迭代
除了遍历数组,for
循环还可以与范围一起使用,这在处理数字序列时特别有用。
示例:从 1 到 5 的数字序列
-- -------------------- ---- ------- -- ------ - --- - -- ---- - ------------- ---- --- - - -- --- -- --- - -- --- - -- --- - -- --- - -- --- -
这里,1..6
创建了一个从 1 到 5 的半开区间(不包括结束值)。for
循环会依次取出这些数字并执行循环体内的代码。
使用 enumerate()
进行索引和值的迭代
当你需要同时获取集合中的元素及其索引时,可以使用 enumerate()
方法。
示例:获取数组元素及其索引
-- -------------------- ---- ------- -- ------ - --- ------- - ------- ------ -------- --- ------- ------- -- -------------------------- - ------------ -- ---- ---- ------- ------- - - -- --- -- -- --- ---- - -- -- --- ---- - -- -- ---- ---- -
enumerate()
返回一个迭代器,每次迭代时会生成一个元组,其中第一个元素是当前项的索引,第二个元素是该项的实际值。
控制循环流程
使用 break
提前退出循环
你可以使用 break
关键字提前终止循环。这在某些条件下提前退出循环很有用。
示例:找到数组中的第一个偶数
-- -------------------- ---- ------- -- ------ - --- ------- - --- -- -- -- --- --- --- -- -------------- - -- --- - - -- - - ------------------- ---- ----- ------ - - - -- --- -- --------- -
使用 continue
跳过当前迭代
如果想跳过循环中的某些迭代,可以使用 continue
关键字。
示例:跳过奇数
-- -------------------- ---- ------- -- ------ - --- ------- - --- -- -- -- --- --- --- -- -------------- - -- --- - - -- - - --------- - --------------- ---- ----- - - -- --- -- ----- - -- ----- -
使用 loop
和 while
控制复杂循环逻辑
虽然 for
循环适用于简单的迭代场景,但有时你可能需要更复杂的控制流,这时可以考虑使用 loop
或 while
循环。
示例:使用 loop
创建无限循环
-- -------------------- ---- ------- -- ------ - --- --- ----- - -- ---- - ------------------ ------- -- ----------- -- ----- -- -- - ------ - ----- -- -- - - -- --- -- ----- -- ----- -- ----- -- --- -- ------
通过结合使用 loop
和 break
,你可以创建有明确退出条件的循环结构。
示例:使用 while
循环
-- -------------------- ---- ------- -- ------ - --- --- ----- - -- ----- ----- - -- - ------------------ ------- ----- -- -- - - -- --- -- ----- -- ----- -- ----- -- --- -- -----
while
循环会在给定条件为真时继续执行循环体内的代码。
循环中的模式匹配
Rust 支持在循环中使用模式匹配,这使得处理复杂数据结构变得更加灵活。
示例:模式匹配与循环结合
-- -------------------- ---- ------- -- ------ - --- ------- - ------------- ----- --------- --- --- -- -------------- - ----- --- - ------- -- ------------- ---- --- ---- -- ------------------- - - - -- --- -- --- - -- ------ -- --- -
在这个例子中,我们使用了 match
表达式来处理数组中的 Option
类型值。根据不同的情况输出不同的信息。
以上就是关于 Rust 中 for
循环的一些基本介绍及使用示例。掌握了这些基础知识后,你可以进一步探索更多高级用法和技巧。