1 借用与引用
Rust可以通过转移所有权的方式获取一个值,也可以获取某个变量的指针或者引用,或者变量的引用,称之为借用。
2 引用和解引用
fn main(){
let x = 5;
let y = &x;
assert_eq!(5,x);
assert_eq!(5,*y);//解引用
}
3 不可变引用
fn main() {
let s1 = String::from("hello");
let len = calculate_length(&s1);
println!("The length of '{}' is {}.", s1, len);
}
fn calculate_length(s: &String) -> usize {
s.len()
}
4 可变应用
fn main() {
let mut s = String::from("hello");
change(&mut s);
}
fn change(some_string: &mut String) {
some_string.push_str(", world");
}