Rust - 引用和借用
1、引用和借用
- 参数的类型时&string而不是string
- &符号就表示引用:允许你引用某些值而不取得其所有权
- 把引用作为函数参数的行为就叫做借用
- 引用默认也是不可变的,如果要修改则加入mut关键字
- 可变引用有一个重要的限制:在特定作用域内,对某一块数据,只能有一个可变的引用
- 这样做的好处是可在编译时防止数据竞争
fn main() {
let s1 = String::from("Hello");
let len = calculate_length(&s1);
println!("The length of {} is {} ",s1,len)
// 修改则加入mut关键字
let mut s2 = String::from("World");
let len2 = calculate_length2(&mut s1);
println!("The length of {} is {} ",s2,len2)
}
fn calculate_length( s: &String) -> usize{
s.len()
}
fn calculate_length2( s: &mut String) -> usize{
s.len()
}
推荐阅读: