Rust 编程语言教学目录
第一部分:基础入门篇 (1-2周)
第1章:Rust 初体验
- 1.1 Rust 语言概述与设计哲学
- 1.2 安装 Rust 工具链
- rustup 安装与配置
- Cargo 包管理器介绍
- 1.3 第一个 Rust 程序
- Hello World
- 使用 Cargo 创建项目
- 1.4 开发环境配置
- VS Code + Rust-analyzer
- 常用插件和工具
第2章:基本语法与类型系统
- 2.1 变量与可变性
- let 与 mut
- 常量与静态变量
- 2.2 基本数据类型
- 标量类型:整数、浮点数、布尔值、字符
- 复合类型:元组、数组
- 2.3 函数定义与使用
- 函数语法
- 语句与表达式
- 返回值与早期返回
- 2.4 控制流
- if/else 条件判断
- 循环:loop、while、for
- 模式匹配基础
第二部分:核心概念篇 (3-4周)
第3章:所有权系统(Rust 核心)
- 3.1 所有权概念
- 栈与堆内存
- 所有权规则
- 变量作用域
- 3.2 移动(Move)语义
- 所有权转移
- 深拷贝与浅拷贝
- Clone 和 Copy trait
- 3.3 引用与借用
- 不可变引用(&)
- 可变引用(&mut)
- 借用规则
- 3.4 切片类型
- 字符串切片
- 数组切片
第4章:复杂数据类型
- 4.1 结构体(Struct)
- 定义与实例化
- 字段初始化简写
- 元组结构体
- 类单元结构体
- 4.2 方法语法
- impl 块
- 关联函数
- 方法与自动引用
- 4.3 枚举与模式匹配
- 枚举定义
- Option 枚举
- Result 枚举
- match 表达式
- if let 简洁控制流
第5章:模块系统与代码组织
- 5.1 包、箱、模块
- 包(Package)与箱(Crate)
- 模块(Module)系统
- 路径与可见性
- 5.2 使用 use 关键字
- 5.3 文件组织与模块分割
第三部分:高级特性篇 (4-5周)
第6章:泛型、Trait 与生命周期
- 6.1 泛型数据类型
- 函数泛型
- 结构体泛型
- 枚举泛型
- 6.2 Trait:定义共享行为
- 定义与实现 trait
- trait 作为参数
- trait 约束
- 返回实现了 trait 的类型
- 6.3 生命周期确保引用有效性
- 生命周期注解语法
- 函数签名中的生命周期
- 结构体中的生命周期
- 生命周期省略规则
第7章:错误处理
- 7.1 不可恢复错误:panic!
- 7.2 可恢复错误:Result 类型
- 7.3 传播错误的简写:? 运算符
- 7.4 何时使用 panic!
- 7.5 自定义错误类型
第8章:集合类型
- 8.1 Vector
- 8.2 String
- 8.3 HashMap
- 8.4 HashSet
- 8.5 迭代器与闭包
- 闭包语法
- 捕获环境
- 迭代器适配器
第四部分:实战应用篇 (4-6周)
第9章:测试与文档
- 9.1 编写测试
- 单元测试
- 集成测试
- 测试组织
- 9.2 测试驱动开发(TDD)
- 9.3 文档注释
- /// 文档注释
- 文档测试
- 发布 crate 到 crates.io
第10章:智能指针
- 10.1 Box:堆上分配数据
- 10.2 Rc:引用计数智能指针
- 10.3 RefCell 与内部可变性模式
- 10.4 引用循环与内存泄漏
第11章:并发编程
- 11.1 使用线程
- 创建新线程
- 等待线程完成
- 11.2 消息传递并发
- 通道(Channel)
- 发送者与接收者
- 11.3 共享状态并发
- Mutex
- Arc
- 11.4 Send 与 Sync trait
第12章:面向对象编程特性
- 12.1 封装
- 12.2 继承的替代方案:Trait
- 12.3 多态性
- 12.4 设计模式实现
第五部分:项目实战篇 (4-8周)
第13章:命令行工具开发
- 项目:构建 grep 搜索工具
- 13.1 读取命令行参数
- 13.2 读取文件
- 13.3 重构改进模块化
- 13.4 使用环境变量
- 13.5 输出错误信息到标准错误
第14章:Web 服务器项目
- 项目:多线程 Web 服务器
- 14.1 监听 TCP 连接
- 14.2 解析 HTTP 请求
- 14.3 实现线程池
- 14.4 优雅停机与清理
第15章:与其它语言交互
- 15.1 使用 FFI 调用 C 代码
- 15.2 从其它语言调用 Rust
- 15.3 WebAssembly 开发
第16章:异步编程
- 16.1 async/await 语法
- 16.2 Future trait
- 16.3 tokio 或 async-std 运行时
- 16.4 构建异步应用
第六部分:进阶主题篇 (可选)
第17章:宏与元编程
- 17.1 声明宏
- 17.2 过程宏基础
- 17.3 自定义派生宏
第18章:不安全 Rust
- 18.1 不安全代码块
- 18.2 解引用裸指针
- 18.3 调用不安全函数
- 18.4 访问或修改可变静态变量
- 18.5 实现不安全 trait
第19章:性能优化
- 19.1 基准测试
- 19.2 性能分析工具
- 19.3 常用优化技巧
第20章:生态系统与最佳实践
- 20.1 常用 crate 介绍
- 20.2 项目结构最佳实践
- 20.3 代码审查要点
- 20.4 Rust 2021/2024 新特性
学习路径建议
零基础路线(6个月)
- 基础篇(1-2月)
- 核心篇(1-2月)
- 实战篇(2月)
- 项目(1月)
有编程经验路线(3个月)
- 基础+核心(1月)
- 高级+实战(1月)
- 项目(1月)
速成路线(1个月)
- 重点:第1-7章 + 第13章项目
学习资源
官方资源
- 《Rust 程序设计语言》(The Book)
- Rust by Example
- Rustlings 练习
练习平台
- Advent of Code
- Exercism Rust 课程
- LeetCode Rust 题目
评估与考核
- 每章结束:编程练习
- 每部分结束:小型项目
- 课程结束:综合项目展示
这个教学目录从零基础开始,循序渐进地覆盖 Rust 的所有重要概念,最后通过实战项目巩固知识。建议根据学习者的背景和可用时间调整学习进度和深度。