Цикл for
Цикл for в Rust предназначен для
последовательного перебора элементов коллекции,
диапазона значений или любого типа, реализующего
трейт IntoIterator. На каждой итерации
переменная цикла принимает очередное значение
из перебираемой последовательности. Параметром
цикл принимает выражение, по которому нужно
выполнить перебор.
Синтаксис
for variable in iterable
{
// body
}
Пример
Давайте переберём все элементы вектора
vec![1, 2, 3, 4, 5] и выведем каждый
из них:
fn main()
{
let vec = vec![1, 2, 3, 4, 5];
for item in &vec
{
println!("{}", item);
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте переберём диапазон чисел от 1
до 5 включительно и выведем каждое
значение:
fn main()
{
for i in 1..=5
{
println!("{}", i);
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте переберём элементы вектора строк
vec!["a", "b", "c", "d", "e"] и
выведем длину каждой строки:
fn main()
{
let vec = vec!["a", "b", "c", "d", "e"];
for item in &vec
{
println!("{}", item.len());
}
}
Результат выполнения кода:
1
1
1
1
1
Пример
Давайте переберём элементы вектора вместе
с их индексами, используя метод enumerate:
fn main()
{
let vec = vec![1, 2, 3, 4, 5];
for (index, item) in vec.iter().enumerate()
{
println!("{}: {}", index, item);
}
}
Результат выполнения кода:
0: 1
1: 2
2: 3
3: 4
4: 5