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
&strreguler yang tidak menggunakan lifetimestatic. Jika Anda membuat sebuahStringdan mendapatkan reference dariStringtersebut, Rust akan mengkonversinya menjadi&strjika 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.