Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

str和String区别:

通俗讲 String就像是笔记本,可以往里面写字符串;而str就像是一个标签,引用了笔记本里的一段内容;

  • String 是 Rust 标准库提供的可变、拥有所有权的字符串类型,底层是堆分配,可以动态增长和修改。
  • str 是不可变的字符串切片类型,通常以 &str 形式出现,指向某个字符串的一部分,不能直接修改内容。
  • String 可以通过 .as_str() 方法转换为 &str,而 &str 可以通过 .to_string() 或 String::from() 转换为 String。
#![allow(unused)]
fn main() {
let x = String::from("hi zouni");
let y:&str = &x[1..2];

//&str -> String
let x = "world";
let y:String = x.to_string();
}