[Rust]字符串

2020-01-10  本文已影响0人  Tsun424

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);
}
上一篇下一篇

猜你喜欢

热点阅读