Rust基础入门:构建第一个可靠CLI程序

📚 共计 30 章节
01
Rust初探
为什么是Rust?安装与工具链 (rustup/cargo/rustc),第一个Hello World
安装入门
02
Cargo项目管理
cargo new, Cargo.toml/lock, build/run/check, 添加外部依赖
Cargo依赖
03
变量与可变性
let/mut, const, 变量遮蔽, 作用域与所有权初探
变量作用域
04
基础数据类型
标量类型(整数/浮点/布尔/字符), 复合类型(元组/数组), 类型推断
类型标量
05
函数与注释
函数定义/参数/返回值, 表达式与语句, 文档注释
函数注释
06
控制流
if/else, loop, while, for循环与迭代器
循环条件
07
所有权系统 (上)
所有权规则, 作用域, String, 移动与克隆
所有权Move
08
所有权系统 (下)
引用与借用, 悬垂引用, 切片Slice
引用借用
09
结构体 Struct
定义/实例化, 元组结构体, 方法impl, 关联函数
结构体方法
10
枚举与模式匹配
枚举定义, Option, match, if let
枚举匹配
11
模块系统
Package/Crate/Module, use/pub, 路径与作用域
模块可见性
12
常见集合
Vector, String, HashMap, 遍历与操作
集合HashMap
13
错误处理
panic!, Result, ?运算符, 错误传播
错误Result
14
泛型与特征 Trait
泛型函数/结构体, Trait定义/实现, Bound, impl Trait
泛型Trait
15
生命周期
生命周期注解, 函数/结构体中的生命周期, 'static
生命周期标注
16
编写自动化测试
#[test], assert!/assert_eq!, 单元测试与集成测试
测试断言
17
构建CLI项目 (一)
项目初始化, 接收命令行参数, 打印参数
CLIargs
18
构建CLI项目 (二)
读取文件内容, 处理文件不存在错误
文件错误处理
19
构建CLI项目 (三)
重构模块化, lib.rs/main.rs, TDD驱动开发
重构TDD
20
构建CLI项目 (四)
环境变量与配置, 忽略大小写搜索
环境变量配置
21
构建CLI项目 (五)
标准错误输出, 退出码处理
stderr退出码
22
迭代器与闭包
闭包语法, 捕获环境, 迭代器适配器 (map/filter/collect)
闭包迭代器
23
智能指针 (上)
Box, Deref/Drop, Rc引用计数
BoxRc
24
智能指针 (下)
RefCell内部可变性, 组合使用, 循环引用
RefCell内部可变
25
并发编程 (上)
thread::spawn, join, move闭包与线程数据传递
线程并发
26
并发编程 (下)
mpsc通道, Mutex/Arc, Send/Sync
通道Mutex
27
面向对象编程特征
Trait对象(dyn), 封装与继承Rust风格, 状态模式
Trait对象状态模式
28
模式匹配进阶
字面量/命名/多重/范围匹配, 解构, @绑定
模式解构
29
高级特性
unsafe, 裸指针, FFI, 声明宏与过程宏
unsafe
30
项目实战:迷你grep
完整CLI工具, 整合所有知识点, 发布到crates.io
实战发布