Types of &str
Ada lebih dari satu jenis &str
. Kita punya:
- String literals: Anda membuat jenis ini di saat Anda menuliskan
let my_str = "I am a &str"
. Mereka akan hidup sampai akhir program, karena mereka ditulis langsung dalam bentuk binary. String literal memiliki type&'static str
.'
itu adalah lifetime, dan string literal memiliki lifetime yang disebutstatic
. - Borrowed str: Ini adalah
&str
reguler yang tidak menggunakan lifetimestatic
. Jika Anda membuat sebuahString
dan mendapatkan reference dariString
tersebut, Rust akan mengkonversinya menjadi&str
jika Anda memerlukannya. Contohnya:
fn prints_str(my_str: &str) { // ia bisa menggunakan &String seperti &str println!("{}", my_str); } fn main() { let my_string = String::from("I am a string"); prints_str(&my_string); // kita memberikan function prints_str sebuah &String }
Jadi, apa itu lifetime? Kita akan mempelajarinya sekarang.