[Rust]字符串

Rust中字符串涉及兩種類型:&strString

&str

str是Rust的內(nèi)置類型,&str是對str的借用。本質(zhì)上&str是一個&[u8]切片,所以它沒有所有權(quán),它無權(quán)給這個字符串擴容或者釋放內(nèi)存。

String

String存儲在Vec<u8>中,它有管理的內(nèi)存空間的所有權(quán),所以可以增加內(nèi)容。String實現(xiàn)了Deref<Target=str>的trait,所以在很多情況下,&String類型可以被編譯器自動轉(zhuǎn)換為&str類型。

fn accept_str(substr: &mut str) {
    println!("substr: {}", substr);
}

fn main() {
    let mut s = String::from("Hello World");
    accept_str(&mut s);
    println!("{}", s);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容