Struct di Rust
Penjelasan
Rust tidak punya class seperti PHP/Java — sebagai gantinya, struct dipakai untuk mengelompokkan field jadi satu unit data, lalu method ditambahkan lewat blok impl (implementation) terpisah di luar definisi struct-nya. Parameter pertama method biasa berupa &self (meminjam instance-nya) atau &mut self (kalau method perlu mengubah field-nya).
Contoh Konsep
struct Mobil {
warna: String,
}
impl Mobil {
fn jalan(&self) -> String {
format!("Mobil {} sedang jalan.", self.warna)
}
}
fn main() {
let mobilku = Mobil { warna: String::from("merah") };
println!("{}", mobilku.jalan());
// Output: Mobil merah sedang jalan.
}
Praktikum
Buat struct Buku dengan field judul dan penulis (String). Buat impl block dengan method info(&self) yang mengembalikan String "{judul} oleh {penulis}" (pakai format!()). Buat satu instance Buku di main() dan tampilkan hasil info().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
format!() bekerja seperti println!() tapi mengembalikan String alih-alih langsung mencetaknya — sangat berguna untuk method yang perlu MENGEMBALIKAN string gabungan, bukan menampilkannya langsung.