借用.md
借用
Rust 中的借用(borrowing)是一种使得程序能够通过引用访问数据,而不取得数据的所有权的机制。这对于 Rust 的内存安全特性至关重要。借用分为两种:不可变借用和可变借用。以下是两种借用的简单示例:
不可变借用
不可变借用允许读取数据但不能修改它。可以有多个不可变引用指向同一数据,因为它们都不会改变数据。
1 |
|
在这个例子中,calculate_length
函数通过不可变引用接受一个字符串。它可以读取字符串的长度,但不能修改字符串本身。
可变借用
与不可变借用不同,可变借用允许修改数据。在任何给定时刻,只能拥有一个数据的可变引用(这防止了数据竞争),除非使用特定的并发类型。
1 |
|
在这个例子中,change
函数通过可变引用接受一个字符串,并修改它。需要注意的是,s
在 main
函数中被声明为可变的(mut s
),因为我们需要通过引用修改它。
Rust 的这种借用系统能够在编译时防止数据竞争、悬垂引用和其他内存安全问题,是 Rust 内存安全保证的核心部分。
借用.md
https://abrance.github.io/2024/04/08/domain/rust/借用/