Flow Control
IF-ELSE
Π Rust Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ IF, ELSE IF, ELSE:
let test_number = 6;
if test_number % 4 == 0 {
println!("Divisible by 4");
} else if test_number % 3 == 0 { // ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ
println!("Divisible by 3"); // Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
} else if test_number % 2 == 0 { // ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ.
println!("Divisible by 2");
} else {
println!("Number is not divisible by 4, 3 or 2");
}
ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ IF ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (expression), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅:
let condition = true;
let number = if condition { "aa" } else { "ab" }; // ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° IF
println!("Number is {number}");
LOOPS
Π’ΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ»: ΡΠ΅ΡΠ΅Π· ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ loop, while, for.
LOOP - ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π²Π΅ΡΠ½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ². ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ LOOP ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ (expression), ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅.
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°
}
}; // ";" Π½ΡΠΆΠ½ΠΎ, Ρ.ΠΊ. Π±ΡΠ»ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
println!("The result is {result}");
ΠΡΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΌΠ΅ΡΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ Ρ break Π½Π° Π½ΡΠΆΠ½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
let mut count = 0;
'counting_up: loop { // ΠΌΠ΅ΡΠΊΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°
println!("count = {count}");
let mut remaining = 10;
loop {
println!("remaining = {remaining}");
if remaining == 9 {
break;
}
if count == 2 {
break 'counting_up; // goto ΠΌΠ΅ΡΠΊΠ°
}
remaining -= 1;
}
count += 1;
}
println!("End count = {count}");
WHILE - ΡΠΈΠΊΠ» Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. ΠΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· loop, Π½ΠΎ Ρ while ΡΠΈΠ»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠ΅.
let mut number = 10;
while number != 0 {
println!("{number}!");
number -= 1;
}
println!("ΠΠΠΠ£Π‘Π!");
FOR - ΡΠΈΠΊΠ» ΠΏΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΠ΅Π».
for i in (1..10).rev() { // .rev() - Π²ΡΠ΄Π°ΡΠ° ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π² ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ
println!("Value: {i}");
}
println!("ΠΠΠΠ£Π‘Π!");