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()
}
同一个作用域内,只能有一个可变引用,如果需要多个可变引用,需要划出多个作用域
也不可以同时拥有一个可变引用和不可变引用,可以拥有多个不可变引用
仅登录用户可评论,点击 登录