网站建设 目的,开发公司对物业公司的考核,集团网站建设建站模板,建设工程信息平台在 Rust 中#xff0c;for 循环是一种用于迭代集合#xff08;如数组、切片、向量、字符串、映射、通道等#xff09;或其他可迭代对象的方式。Rust 的 for 循环语法相对直观#xff0c;并且与许多其他编程语言中的 for 循环类似。
以下是 for 循环在 Rust 中的一些常见用…在 Rust 中for 循环是一种用于迭代集合如数组、切片、向量、字符串、映射、通道等或其他可迭代对象的方式。Rust 的 for 循环语法相对直观并且与许多其他编程语言中的 for 循环类似。
以下是 for 循环在 Rust 中的一些常见用法
迭代数组或切片
let numbers [1, 2, 3, 4, 5];for number in numbers.iter() {println!({}, number);
}或者如果你确定 numbers 是可变的并且你不需要返回所有权可以直接使用 into_iter()
let numbers [1, 2, 3, 4, 5];for number in numbers.into_iter() {println!({}, number);
}从 Rust 1.0 开始可以使用更简洁的语法直接迭代数组
let numbers [1, 2, 3, 4, 5];for number in numbers {println!({}, number);
}或者如果数组是可变的你可以直接迭代它
let mut numbers [1, 2, 3, 4, 5];for number in numbers.iter_mut() {*number * 2; // 修改每个元素的值
}迭代字符串中的字符
let text Hello, Rust!;for character in text.chars() {println!({}, character);
}迭代映射HashMap的键值对
use std::collections::HashMap;let mut scores HashMap::new();
scores.insert(Alice, 100);
scores.insert(Bob, 90);for (name, score) in scores {println!({}: {}, name, score);
}迭代范围
for i in 0..5 { // 不包含 5println!({}, i);
}for i in 0..5 { // 包含 5println!({}, i);
}迭代枚举值
enum Color {Red,Green,Blue,
}let colors [Color::Red, Color::Green, Color::Blue];for color in colors.iter() {match color {Color::Red println!(Red),Color::Green println!(Green),Color::Blue println!(Blue),}
}使用 C 风格的 for 循环
虽然 Rust 推荐使用迭代器的 for 循环但有时你可能需要更底层的控制可以使用 range 函数和 to 方法来创建一个范围并使用 C 风格的 for 循环
let mut sum 0;
for i in 0..10 {sum i;
}
println!(Sum: {}, sum);使用 while 循环进行迭代
虽然这不是一个 for 循环但有时候 while 循环可以用于实现类似的功能尤其是在需要基于某种条件迭代时
let mut i 0;
while i 5 {println!({}, i);i 1;
}注意Rust 中的 for 循环通常比 while 循环更受欢迎因为它们提供了更清晰的语法并且更易于理解和维护。在使用 for 循环时通常不需要手动管理索引或迭代器因为 Rust 会为你处理这些细节。