title: 引用与借用
updated: 2023-12-26T04:46:10.0000000+08:00
created: 2023-12-23T06:13:09.0000000+08:00


引用与借用
2023年12月23日
6:13
& 这个符号表示函数的引用,表示引用值但不取得所有权
引用也是可变的,&后加mut空格,注意需要将所有定义或者引用这个函数的地方都需要加上

fn main(){
  let mut <u>time</u> =String::from("中");
  println!("time is {<u>time</u>}");
  let len = length(&mut <u>time</u>);
  println!("字符长度是{},(一个中文字占3字符)",len)
}

fn length(<u>s</u>:&mut String)-\> usize{
  println!("{<u>s</u>}");
  <u>s</u>.<u>push_str</u>("国");
  println!("{<u>s</u>}");
  <u>s</u>.len()
}

同一个作用域内,只能有一个可变引用,如果需要多个可变引用,需要划出多个作用域
也不可以同时拥有一个可变引用和不可变引用,可以拥有多个不可变引用

最后修改:2024 年 05 月 05 日
如果觉得我的文章对你有用,请随意赞赏