[Rust]字符串

Rust中字符串涉及两种类型:&strString

&str

str是Rust的内置类型,&str是对str的借用。本质上&str是一个&[u8]切片,所以它没有所有权,它无权给这个字符串扩容或者释放内存。

String

String存储在Vec<u8>中,它有管理的内存空间的所有权,所以可以增加内容。String实现了Deref<Target=str>的trait,所以在很多情况下,&String类型可以被编译器自动转换为&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);
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容