如何在 Rust 中处理字符串?
如何在 Rust 中正确处理字符串?所有权和转换问题
大家好!我是 Rust 新手,在处理字符串时遇到了困难。在其他语言(Python、Java)中,字符串通常表现得很直观:可以拼接、修改、传递给函数而不会出现复杂问题。但在 Rust 中,我不断遇到与所有权、借用以及 String 与 &str 类型相关的编译错误。
具体问题:我需要从 stdin 读取用户名,然后添加问候语并输出结果。我尝试了以下代码:
use std::io;
fn main() {
let mut name = String::new();
io::stdin().read_line(&mut name).expect("Failed to read line");
let greeting = "Hello, " + name; // 错误!
println!("{}", greeting);
}编译器报错:cannot add `String` to `&str`。我明白这