Rust 是一门系统编程语言,专注于安全,尤其是并发安全。它最独特的功能是其所有权(Ownership)系统,这使得 Rust 能够在没有垃圾回收(GC)的情况下保证内存安全。

所有权规则

Rust 的所有权系统有三条核心规则:

  1. Rust 中的每一个值都有一个被称为其 所有者 (Owner) 的变量。
  2. 值在任一时刻有且只有一个所有者。
  3. 当所有者(变量)离开作用域,这个值将被丢弃。
{
    let s = String::from("hello"); // s 是所有者
} // s 离开作用域,内存被释放

借用 (Borrowing)

如果我们想要使用一个值,但不想获取其所有权,可以使用引用(Reference),这被称为借用。

  • 不可变引用 (&T): 允许读取数据,但不能修改。
  • 可变引用 (&mut T): 允许读取和修改数据。

规则:在同一作用域内,可以有多个不可变引用,但只能有一个可变引用。这有效地防止了数据竞争。

生命周期 (Lifetimes)

生命周期是 Rust 编译器用于确保引用有效性的机制。通常情况下,编译器可以自动推断生命周期,但在某些复杂情况下,需要手动标注。

点赞(25) 打赏

评论列表 共有 3 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部