30
Rust - Control Flow (Condition)
Seperti namanya, fungsinya adalah mengatur arus/jalan dari program kita.
Apakah kita harus belok kanan, ataukah kiri,
ataukah putar balik,
itulah bahasa sederhana dari Control Flow
Apakah kita harus belok kanan, ataukah kiri,
ataukah putar balik,
itulah bahasa sederhana dari Control Flow
Semua materi merupakan rangkuman belajar.
Untuk bacaan yang lebih langkap & update, dipersilahkan akses pada
The Book
Adapun control flow di Rust meliputi
-
if
&else
match
loop
while
for in
break
continue
- juga support control flow label dengan
'label:
fn main() {
let umur = 21;
if umur < 18 {
println!("kemudaan");
} else if umur > 60 {
println!("kayaknya waktunya pensiun");
} else {
println!("boleh lah");
}
// Karena if else
// merupakan expression
// ( dapat mengembalikan nilai )
// kita dapat menggunakannya ke dalam variable
let umur = if umur < 18 {
"kemudaan"
} else if umur > 60 {
"kayaknya waktunya pensiun"
} else {
"boleh lah"
};
// pada contoh di atas
// kita menggunakan
// shadowing pada variable umur
// & expression untuk mengembalikan nilai
println!("{}", umur);
}
{ }
if
& else
hanya menerima nilai boolean ke dalam kondisinya,
tidak seperti JavaScrip yang dapat menerima nilai truly/falsy
Pada Dasarnya
Nah, bedanya di Rust kita harus menangani segala kemungkinan yang terjadi.
match
seperti switch
pada beberapa bahasa pemrograman lain.Nah, bedanya di Rust kita harus menangani segala kemungkinan yang terjadi.
fn main() {
let nilai = 90;
match nilai {
0 => println!("Wah ini sih parah"),
1 | 2 | 3 => println!("Niat ngga sih?"),
4..=35 => println!("F"),
31..=50 => {
println!("Hmmm");
println!("E");
},
51..=65 => println!("D"),
66..=75 => println!("C"),
76..=85 => println!("B"),
86..=98 => println!("A"),
99..=100 => println!("A+"),
_ => println!("???"),
}
let boolean = true;
let boolean = match boolean {
false => 0,
true => 1,
};
println!("{}", boolean);
}
=>
dan ,
sebagai batas tiap kondisi_
digunakan sebagai else
atau default
,
kemungkinan yang lain akan masuk ke dalam kondisi iniKita juga dapat menggunakannya sebagai expression.
pastikan nilai return bertipe data sama
Untuk control flow yang lain akan dibahas secara terpisah.
Terima kasih.
30