Выражения 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 центов