Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《所有权规则与移动语义》:所有权是 Rust 最核心的特性,规则如下: 1. 每个值在 Rust 中都有一个变量作为其所有者。 2. 同一时刻只能有一个所有者。 3. 当所有者超出作用域时,值将被释放(drop)。 **移动(Move)**:对于非 Copy 类型...

所有权系统

所有权规则与移动语义

【详细说明 & 代码示例】
所有权是 Rust 最核心的特性,规则如下: 1. 每个值在 Rust 中都有一个变量作为其所有者。 2. 同一时刻只能有一个所有者。 3. 当所有者超出作用域时,值将被释放(drop)。 **移动(Move)**:对于非 Copy 类型(如 String),赋值或传参会转移所有权,原变量失效。 ```rust let s1 = String::from("hello"); let s2 = s1; // s1 被移动,s1 不再有效 // println!("{}", s1); // 编译错误 ``` **克隆(Clone)**:显式深拷贝。 ```rust let s3 = s1.clone(); // 复制数据 ``` **Copy 类型**:简单类型(整数、布尔等)自动实现 Copy,赋值后原变量仍可用。 ```rust let x = 5; let y = x; // x 仍有效 ``` **所有权与函数:** 传递参数会转移所有权,返回值也会转移。 ```rust fn take_ownership(s: String) { /* ... */ } fn give_ownership() -> String { String::from("new") } ```

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解