Pyt*_*tai 2 string integer rust
我是 Rust 新手。在尝试连接字符串文字和整数时,由于“to_string”函数,我遇到了许多错误。之后意识到我需要在整数前面放置一个引用/与号(&)。但是,我不明白为什么。你能解释一下为什么我需要在 to_string 函数的整数前面放置一个参考符号吗?我在下面写了一个示例代码。
fn main() {
let number = 42;
let text = "The answer is";
let result = text.to_owned() + " " + &number.to_string();
println!("{}", result);
}
Run Code Online (Sandbox Code Playgroud)
因为+字符串的运算符采用Stringand&str而不是Stringand String,因为这就是std::ops::Add实现所采用的。
这是因为要有效地连接字符串,您需要拥有其中一个字符串,因此我们可以重用其缓冲区并可能避免分配,但您不需要拥有另一个字符串,一个引用就足够了。从技术上讲,也没有理由impl Add<String> for &str不能提供,它只是不存在。