Study
Rust

String di Rust (String vs &str)

Penjelasan

Rust punya dua tipe untuk teks yang sering membingungkan pemula: String (dimiliki/owned, disimpan di heap, bisa tumbuh ukurannya, dibuat dengan String::from() atau .to_string()) dan &str ("string slice", sekadar reference/pinjaman ke teks yang sudah ada, mis. string literal "halo" secara default bertipe &str).

Contoh Konsep

fn main() {
    let literal: &str = "CompileDaily"; // &str, string literal
    let dimiliki: String = String::from("CompileDaily"); // String, owned

    println!("{}", literal.len());  // 12
    println!("{}", dimiliki.len()); // 12

    let gabungan = dimiliki + " Study"; // String bisa digabung dengan +
    println!("{}", gabungan);
}

Praktikum

Buat variabel let email: &str = "[email protected]". Pakai split('@') untuk memisahkan bagian sebelum dan sesudah "@", lalu tampilkan masing-masing bagian.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Aturan praktis buat pemula: pakai &str untuk PARAMETER fungsi (lebih fleksibel, menerima String maupun literal), dan String untuk data yang benar-benar perlu kamu MILIKI/ubah-ubah, mis. field di dalam struct.