fn main() {
let mut oldStr = "neo".to_string();
let mut newStr = &mut oldStr;//进行借用
newStr.push_str(" is cool");//对值进行更新
println!("oldStr:{}", oldStr);
println!("newStr:{}", newStr);
// println!("oldStr:{}", oldStr);//这一行放在下面就可以运行
}
//这样就会报错;说不能将oldStr为不可变引用 但是放到最下面就可以运行
1
共 4 条评论, 1 页
评论区
写评论--
👇
z0921: let mut newStr = &mut oldStr; 在这行代码里面,进行可变借用,之后将无法对oldStr进行不可变的引用,除非其可变借用的变量已经注销
--
👇
Neutron3529: &mut存在的情况下不能存在其他借用
你的试图打印oldstr的时候,事实上是对已经存在&mut的oldstr创造了一个&
当然报错了
&mut存在的情况下不能存在其他借用
你的试图打印oldstr的时候,事实上是对已经存在&mut的oldstr创造了一个&
当然报错了
let mut newStr = &mut oldStr; 在这行代码里面,进行可变借用,之后将无法对oldStr进行不可变的引用,除非其可变借用的变量已经注销