---
title: Rust 入门与学习路线
url: https://doc.liz6.com/rust/00-learning-path
locale: zh
area: rust
tags:
- rust
- 入门
- Rust
date: 2026-09-09
modified: 2026-09-09
description: 为已有基础编程经验的初学者安排 Rust 学习顺序：所有权、借用与生命周期，类型与错误处理，最后完成一个小项目；区分必读和进阶选读。
---

# Rust 入门与学习路线

适合会写变量、条件、循环和函数，准备开始学习 Rust 的读者。本站偏重语言机制与系统编程；完全没有编程经验时，先补基础语法。阅读前准备好 Rust 工具链，能够运行一个 Cargo 项目。

目标：按值传递或借用时能解释资源归属，用类型表达状态和失败，并完成一个带测试的小工具。按下面的顺序阅读，每阶段完成练习再继续；阅读时长不包含练习和调试时间。

## 必读顺序

1. **资源归属**：先读 [所有权模型](/rust/01-ownership-and-borrowing/01-ownership-model)，区分 move、Copy、Clone 和 Drop；再读 [引用与借用](/rust/01-ownership-and-borrowing/02-references-and-borrowing)，理解何时借用而不转移值。
2. **借用关系**：读 [生命周期](/rust/01-ownership-and-borrowing/03-lifetime)，理解引用之间的有效性约束。不要把生命周期标注当作延长对象寿命的方法。
3. **表达数据和行为**：读 [enum 与模式匹配](/rust/02-type-system/02-enums-and-pattern-matching) 和 [struct 与 trait](/rust/02-type-system/03-structs-and-traits)，用 enum 表达状态，用 trait 描述需要的能力。
4. **处理失败与数据**：读 [Result 与 Option](/rust/05-error-handling/01-Result-Option) 和 [Iterator 与闭包](/rust/10-standard-library-depth/01-iterator-and-closures)，把缺失、错误、遍历和转换表达为清楚的接口。
5. **完成小项目**：读 [Workspace 与项目管理](/rust/09-cargo-and-build/03-workspace-and-project-management)。实现一个读取文本、统计词频并输出结果的 CLI；为正常输入、空输入和失败输入写测试。

## 每阶段自检

- 第一阶段：能解释 String 赋值后为什么旧变量不能再读，并用借用避免不必要的 clone。
- 第二阶段：能指出返回引用的函数，其引用来自哪个输入，为什么不能引用局部临时值。
- 第三、四阶段：能在不依赖无条件 unwrap 的情况下处理无值和失败，并测试分支。
- 第五阶段：能用 cargo test 验证小工具，清楚地区分核心逻辑与输入输出。

## 进阶选读

掌握必读内容后，按目标选择分支，不需要一次学完：共享资源读 [Box、Rc 与 Arc](/rust/04-smart-pointers-and-memory/01-Box-Rc-Arc)；并发服务读 [Send 与 Sync](/rust/06-concurrency-and-asynchrony/01-Send-Sync)，再读 [async/await](/rust/06-concurrency-and-asynchrony/02-async-await) 与 [Tokio 运行时](/rust/06-concurrency-and-asynchrony/03-tokio-runtime)。FFI、裸指针、内联汇编和内核模块是后续专题，不是开始学习 Rust 的前置条件。

需要查阅完整目录时，回到 [Rust 总览](/rust/)。
