Rust 编程语言教学目录

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. 基础篇(1-2月)
  2. 核心篇(1-2月)
  3. 实战篇(2月)
  4. 项目(1月)

有编程经验路线(3个月)

  1. 基础+核心(1月)
  2. 高级+实战(1月)
  3. 项目(1月)

速成路线(1个月)

  • 重点:第1-7章 + 第13章项目

学习资源

官方资源

  • 《Rust 程序设计语言》(The Book)
  • Rust by Example
  • Rustlings 练习

练习平台

  • Advent of Code
  • Exercism Rust 课程
  • LeetCode Rust 题目

评估与考核

  • 每章结束:编程练习
  • 每部分结束:小型项目
  • 课程结束:综合项目展示

这个教学目录从零基础开始,循序渐进地覆盖 Rust 的所有重要概念,最后通过实战项目巩固知识。建议根据学习者的背景和可用时间调整学习进度和深度。

相关推荐
lkbhua莱克瓦242 小时前
基础-SQL-DCL
开发语言·数据库·笔记·mysql·dcl
小希smallxi2 小时前
Rust语言入门
开发语言·后端·rust
默 语2 小时前
Spring Boot 3.x升级踩坑记:到底值不值得升级?
hive·spring boot·后端
Java编程爱好者2 小时前
JDK 21 中的虚拟线程:革新 Java 多线程
后端
悟能不能悟2 小时前
springboot controller返回的是HttpServletResponse成功返回excel文件流,失败就返回失败参数
spring boot·后端·excel
神奇小汤圆2 小时前
面试官:如何在 Kafka 中实现延迟消息?
后端
请告诉他2 小时前
【实战经验】Dell Inspiron 7560 升级 BIOS 支持 DDR4-2666 内存,解决 Spring Cloud 多模块开发内存瓶颈
后端·spring·spring cloud
悟能不能悟3 小时前
JAVA 对象转为二级制流,再转化为base64
java·开发语言