【Rust入门知识点学与练】第3课:String 与 str 的区别

【Rust入门知识点学与练】第3课:String 与 str 的区别 知识点两种字符串类型下面展示一些内联代码片。fnmain(){// str — 字符串切片写死在代码里的不能改lets1hello;// String — 堆上分配的可以修改letmuts2String::from(hello);// String 可以追加内容s2.push_str( world);println!({},s2);// hello world// String 可以追加单个字符s2.push(!);println!({},s2);// hello world!// str 转 Stringlets3s1.to_string();println!({},s3);// String 转 strlets4s2.as_str();println!({},s4);}核心规则str String能修改吗 ❌ 不能 ✅ 可以加 mut创建方式 “hello” String::from(“hello”)什么时候用 只读、固定文本 需要拼接、修改动手试试补全下面的代码fn main() { // 补全用 String::from 创建一个可变字符串 greeting内容为 你好 // 提示记得加 mut // 补全给 greeting 追加 世界 // 提示用 push_str // 补全给 greeting 追加字符 // 提示用 push注意字符用单引号 // 打印 greeting期望输出: 你好世界贴代码fnmain(){// 补全用 String::from 创建一个可变字符串 greeting内容为 你好// 提示记得加 mutletmutgreetingString::from(你好);// 补全给 greeting 追加 世界// 提示用 push_strgreeting.push_str(世界);// 补全给 greeting 追加字符 // 提示用 push注意字符用单引号greeting.push();// 打印 greeting期望输出: 你好世界println!({},greeting);// 补全把 greeting 转成 str 赋给 result// 提示用 as_str()letresultgreeting.as_str();// 打印 resultprintln!({},result);}评语完全正确你掌握了String::from() 创建可变字符串push_str() 追加字符串、 push() 追加单个字符as_str() 把 String 转成 str