1、引用(&)
&符号表示引用,它们允许你使用值但不获取其所有权。
错误示例
在不用引用的情况,把一个变量值赋值另外一个变量,之前的变量所有权就转移到了新的变量上了,后面再使用,则会报错。
let s = String::from("hello,world");
let r1 = s;
println!("{}",s);
println!("{}",r1);
正确示例
let s = String::from("hello,world");
let r1 = &s; // 引用
println!("{}",s); //hello,world
println!("{}",r1); //hello,world
2、借用
我们将获取引用作为函数参数称为 借用(borrowing)。正如现实生活中,如果一个人拥有某样东西,你可以从他那里借来。当你使用完毕,必须还回去。
fn mai