Looping di Rust
Rust punya 3 jenis loop: loop, while, dan for.
loop — Infinite Loop
let mut counter = 0;
loop {
counter += 1;
if counter == 5 {
break; // keluar dari loop
}
}
println!("Counter: {}", counter); // 5
// loop bisa mengembalikan nilai!
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // return 20
}
};
while Loop
let mut n = 5;
while n > 0 {
println!("{}!", n);
n -= 1;
}
println!("Liftoff!");
for Loop — Paling Umum Digunakan
// Iterasi range
for i in 1..=5 {
println!("{}", i); // 1, 2, 3, 4, 5
}
// 1..5 = 1 sampai 4 (exclusive end)
// 1..=5 = 1 sampai 5 (inclusive end)
// Iterasi array/vector
let buah = ["apel", "jeruk", "mangga"];
for b in buah.iter() {
println!("{}", b);
}
// Iterasi dengan index
for (i, b) in buah.iter().enumerate() {
println!("{}: {}", i, b);
}
break & continue
for i in 1..=10 {
if i % 2 == 0 {
continue; // skip genap
}
if i > 7 {
break; // berhenti
}
println!("{}", i); // 1, 3, 5, 7
}