如何在Rust中正确拼接字符串:新手完整指南
大家好!我刚开始学习Rust,遇到了一个让我非常困惑的问题。我需要将多个字符串拼接成一个,但不知道如何正确操作,总是遇到编译错误。
以下是我的代码示例:
```rust
fn main() {
let hello = "Hello";
let world = "world";
let message = hello + " " + world;
println!("{}", message);
}
```
编译器报错:`cannot add `&str` to `&str``。我尝试了不同的方法:使用 `format!`、`push_str`,但还是搞不清楚。在其他语言中,比如Python或JavaScript,我只需写 `"Hello" + " " + "world"` 就能工作。而在Rust中有这么多不同的类型:`String`、`&str`、`String::from`、`to_string()`。什么时候该用哪个?
我需要拼接的不仅是字面量,还有来自不同地方的变量:有些已经是 `String`,有些是字符串切片。请告诉我如何在Rust中正确且高效地拼接字符串?