3.1 KiB
title | localeTitle |
---|---|
Loops | Loops |
Loops
Внутри Rust существует три типа встроенных механизмов циклизации: loop
, while
и for
.
Бесконечное повторение с loop
В Rust структура loop
будет непрерывно выполнять блок кода ad infinitum (или пока вы явно не остановите его).
Вот пример программы, использующей loop
для непрерывного вывода слова «снова» на терминал:
fn main() {
loop {
println!("again!");
}
}
Условный цикл с while
Вышеупомянутый механизм не очень полезен, если мы не вводим какое-то условие остановки для loop
для которого нужно проверить. К счастью, Rust имеет встроенную циклическую структуру, называемую while
, которую вы можете использовать для непрерывного выполнения блока кода, в то время как какое-то условие истинно.
Вот пример программы, использующей while
для обратного отсчета от 5:
fn main() {
let mut number = 5;
while number != 0 {
println!("{}", number);
number = number - 1;
}
}
Выполните здесь код.
Перебор коллекции с for
В некоторых случаях вам может потребоваться повторить и использовать элементы коллекции (например, массив). В то время как вы могли бы добиться этого с помощью while
цикл и индексную переменную для доступа к каждому элементу, Rust предоставляет for
цикла , чтобы сделать эту операцию гораздо проще.
Вот пример программы, которая печатает каждое число в массиве на терминал, используя for
:
fn main() {
let collection = [15, 7, 2, 6, 9];
for element in collection.iter() {
println!("the value is: {}", element);
}
}
Выполните здесь код.
Подобно итераторам в C ++, .iter()
возвращает итератор в collection
, который затем может быть зациклирован для доступа к каждому element
. Для получения дополнительной информации перейдите к документации Rust по потоку управления .