「Rust笔记」Rust之引用和借用总结

本文总结了Rust编程中的引用(&)和借用概念。引用允许不获取所有权而使用值,防止数据竞争。不可变引用在函数中不允许修改变量,而可变引用有特定作用域限制。Rust的引用规则确保了唯一可变引用或多个不可变引用的存在,防止悬垂引用和数据竞争问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图解AI

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值