它必须是非常基本的东西,但对我而言不起作用。
这就是我得到的;
#[derive(Debug)]
struct Simple {
s: String,
}
impl Simple {
fn greet_more(&mut self) {
self.s = self.s + " Hello";
}
}
它失败并显示:
error[E0507]: cannot move out of borrowed content
--> src/lib.rs:9:18
|
9 | self.s = self.s + " Hello";
| ^^^^^^ cannot move out of borrowed content
我发现解决方案是在字符串上使用.clone()
。
impl Simple {
fn greet_more(&mut self) {
self.s = self.s.clone() + " Hello";
}
}
我这样做可以避免什么样的“风险”?没有.clone()
时出现错误的原因是什么?