本文主要是介绍Rust语言入门教程(八) - 引用与借用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引用与借用
- 欢迎使用并贡献我的开源webhook工具: https://github.com/owenchenxy/rusthook/
上一章的内容中我们讨论了Rust的所有权系统,当我们不想移动值的所有权时,我们可以使用引用和借用,而这正是本章想要讨论的问题。
引用(References)
引用允许你访问或修改数据而无需获取数据的所有权。在 Rust 中,有两种类型的引用:
- 不可变引用(&T):
- 它允许你读取数据,但不能修改它。
- 你可以同时拥有多个不可变引用。
- 当存在不可变引用时,不能再有可变引用。
- 可变引用(&mut T):
- 它允许你读取和修改数据。
- 同一时间,只能有一个可变引用指向同一数据。
- 当存在可变引用时,不能再有其他可变或不可变引用,为了防止写竞争或读取数据时数据改变。
如上图所示, 在多个线程中如果都存在对同一个值的引用时, 在没有锁的情况下, 对同一个变量进行多个可变引用显然是不安全的。
借用(Borrowing)
借用是指使用引用来访问数
这篇关于Rust语言入门教程(八) - 引用与借用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!