Цикл loop
Цикл loop создаёт бесконечный цикл,
который выполняется до тех пор, пока его
не прервут оператором break.
Параметров цикл не принимает. Значение,
указанное после break, становится
результатом всего выражения loop,
поэтому цикл можно использовать для
вычисления значений.
Синтаксис
loop
{
// тело цикла
}
Пример
Давайте выведем числа от 1 до 5,
прервав бесконечный цикл оператором break:
fn main()
{
let mut i = 1;
loop
{
println!("{}", i);
if i == 5
{
break;
}
i += 1;
}
}
Результат выполнения кода:
1
2
3
4
5
Пример
Давайте вернём значение из цикла через
break и сохраним его в переменную:
fn main()
{
let mut i = 1;
let res = loop
{
if i == 5
{
break i * 2;
}
i += 1;
};
println!("{}", res);
}
Результат выполнения кода:
10
Пример
Давайте пропустим чётные числа
с помощью оператора continue:
fn main()
{
let mut i = 0;
loop
{
i += 1;
if i > 5
{
break;
}
if i % 2 == 0
{
continue;
}
println!("{}", i);
}
}
Результат выполнения кода:
1
3
5