Rust 是一门系统编程语言,专注于安全,尤其是并发安全。它最独特的功能是其所有权(Ownership)系统,这使得 Rust 能够在没有垃圾回收(GC)的情况下保证内存安全。
所有权规则
Rust 的所有权系统有三条核心规则:
- Rust 中的每一个值都有一个被称为其 所有者 (Owner) 的变量。
- 值在任一时刻有且只有一个所有者。
- 当所有者(变量)离开作用域,这个值将被丢弃。
{
let s = String::from("hello"); // s 是所有者
} // s 离开作用域,内存被释放
借用 (Borrowing)
如果我们想要使用一个值,但不想获取其所有权,可以使用引用(Reference),这被称为借用。
- 不可变引用 (
&T): 允许读取数据,但不能修改。 - 可变引用 (
&mut T): 允许读取和修改数据。
规则:在同一作用域内,可以有多个不可变引用,但只能有一个可变引用。这有效地防止了数据竞争。
生命周期 (Lifetimes)
生命周期是 Rust 编译器用于确保引用有效性的机制。通常情况下,编译器可以自动推断生命周期,但在某些复杂情况下,需要手动标注。

发表评论 取消回复