String adalah teks yang bisa berubah.
let mut pesan = String::from("Halo");
pesan.push_str(" Rust");Vec<T> adalah array dinamis.
let mut angka = Vec::new();
angka.push(10);
angka.push(20);Iterasi:
for item in &angka {
println!("{}", item);
}Untuk pasangan key-value, gunakan HashMap.
use std::collections::HashMap;
let mut nilai = HashMap::new();
nilai.insert("Andi", 90);
nilai.insert("Budi", 85);Rust mendorong error ditangani secara eksplisit.
fn bagi(a: f64, b: f64) -> Result<f64, String> {
if b == 0.0 {
Err(String::from("tidak bisa membagi dengan nol"))
} else {
Ok(a / b)
}
}Pemakaian:
match bagi(10.0, 2.0) {
Ok(hasil) => println!("Hasil: {}", hasil),
Err(pesan) => println!("Error: {}", pesan),
}Untuk pola sederhana, if let lebih ringkas.
let skor = Some(100);
if let Some(nilai) = skor {
println!("Nilai: {}", nilai);
}- Buat
Vec<String>berisi tiga nama teman. - Tambahkan elemen baru lalu cetak semua elemen.
- Buat
HashMapuntuk menyimpan nama siswa dan nilai. - Buat fungsi
bagiyang mengembalikanResult.
Modifikasi program Vec sehingga:
- elemen di-pop satu per satu
- setiap hasil
popditangani denganmatch - tampilkan pesan berbeda jika vector sudah kosong