Rust Курс

Условия, циклы и сопоставление с образцом в Rust

Самоучитель Python 3, собранный из материалов данного сайта.Предназначен в основном для тех, кто хочет изучить язык программирования Python с нуля.

Выражения if

В Rust if является выражением, а не просто оператором — оно может возвращать значение:

let number = 7;

if number < 5 {
    println!("Маленькое");
} else if number < 10 {
    println!("Среднее");
} else {
    println!("Большое");
}

// if как выражение
let category = if number < 5 { "маленькое" } else { "большое" };
println!("{}", category);

Loop — бесконечный цикл

let mut counter = 0;
let result = loop {
    counter += 1;
    if counter == 10 {
        break counter * 2; // loop возвращает значение!
    }
};
println!("Результат: {}", result); // 20

Цикл while

let mut n = 1;
while n < 100 {
    n *= 2;
}
println!("{}", n); // 128

Цикл for

// Итерация по диапазону
for i in 0..5 {
    println!("{}", i); // 0, 1, 2, 3, 4
}

// Включительный диапазон
for i in 1..=5 {
    println!("{}", i); // 1, 2, 3, 4, 5
}

// Итерация по коллекции
let arr = [10, 20, 30, 40, 50];
for element in arr {
    println!("{}", element);
}

Match — мощное сопоставление с образцом

let coin = "quarter";
let value = match coin {
    "penny"   => 1,
    "nickel"  => 5,
    "dime"    => 10,
    "quarter" => 25,
    _         => 0, // шаблон catch-all
};
println!("{} центов", value); // 25 центов