freeCodeCamp/guide/russian/rust/loops/index.md

3.1 KiB
Raw Blame History

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 по потоку управления .