Menu
CoddyTech

String vs. &str

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 54 dari 66.

Rust memiliki dua tipe string utama yang memiliki kegunaan berbeda: String dan &str. Memahami perbedaan keduanya sangat penting agar kamu dapat bekerja dengan teks di Rust secara efektif.

String adalah string yang dimiliki dan dialokasikan di heap, yang bisa kamu ubah. Saat kamu membuat String, programmu memiliki data tersebut dan bertanggung jawab untuk mengelola memorinya. Kamu bisa memperbesar, memperkecil, dan mengubah isinya karena string tersebut bisa diubah saat dideklarasikan dengan mut.

let mut my_string = String::from("Hello");
my_string.push_str(" World"); // Ini berfungsi karena String memiliki kepemilikan dan dapat diubah

Sebaliknya, &str (dilafalkan "string slice") adalah tampilan yang dipinjam dan tidak dapat diubah dari data string. Tipe ini tidak memiliki data yang ditunjuknya, tipe ini hanya berupa referensi ke konten string yang ada di tempat lain. Literal string seperti "Hello" sebenarnya bertipe &str.

let my_slice: &str = "Hello World"; // Ini adalah slice dari string

Bayangkan String seperti memiliki buku yang bisa kamu tulisi dan ubah, sedangkan &str seperti meminjam buku milik orang lain. Kamu bisa membacanya, tetapi tidak bisa mengubahnya. Perbedaan ini merupakan dasar sistem kepemilikan Rust dan membantu memastikan keamanan memori.

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online