告别 C++ 的内存焦虑,用 Rust 重建系统编程信心

很多从 C/C++ 或 Go 转岗过来的开发者,最头疼的不是语法,而是“悬而未决”的内存管理。你可能会遇到空指针崩溃、数据竞争,或者在 GC 语言中感到性能不可控。这门课解决的核心问题,是如何在保持高性能的同时,彻底杜绝段错误和内存泄漏。它不追求宏大的架构设计,而是聚焦于 Rust 的核心心智模型:所有权、借用和生命周期。如果你之前写代码时总担心“这块内存谁释放”,或者在多线程环境下被数据竞争搞得焦头烂额,这门课就是为你准备的“解药”。

适合有基础但不敢碰 Rust 的转岗者

这门课不适合完全没写过代码的小白,因为其中涉及编译原理、包管理和并发概念。但它非常适合具备一门主流语言(如 C、C++、Java 或 Go)基础,想尝试系统级编程或高性能后端开发的中级开发者。你不需要精通 Rust,只需要对“指针”和“内存”有概念。课程从环境配置讲起,覆盖了 Cargo 包管理、TOML 配置文件、IDE 集成(包括 Emacs 和 IntelliJ),以及最基础的函数声明与调用。特别是前几节关于 `Result` 枚举和猜数字游戏的例子,是直接对标 C 语言错误处理模式的,能帮你快速建立 Rust 的错误处理直觉。如果你连 Linux 命令行都不熟,建议先补一点 Shell 基础,因为后续很多操作依赖终端交互。

建议先看核心三块,搭配练习独立写工具

别按部就班从第一秒看到最后一秒。建议优先攻克三个板块:第一,Cargo 环境与项目结构,这是 Rust 生态的入口,不懂 Cargo 就没法开始;第二,所有权与借用规则,这是 Rust 的灵魂,也是最大的难点,务必配合视频中的 `guess number` 例子反复调试;第三,IntelliJ 或 Emacs 的调试配置,只有能断点调试,才能看清内存状态。学完后,你应该能独立创建一个 Cargo 项目,编写一个命令行工具(比如简单的文件解析器或网络爬虫),并能独立阅读 `rustc` 的编译错误信息,判断是生命周期问题还是类型不匹配。资料包中的代码片段不要只看不练,建议把每一段代码复制到本地,故意改错,观察编译器给出的提示。Rust 的编译器是最好的老师,多和它“吵架”,比看十遍文档都有效。最终目标是你能脱离教程,独立解决一个具体的系统级小工具开发需求,而不是仅仅记住几个 API。

课程目录

1-1 [[oeasy]教你玩转rust编程] 环境配置 (02:08)
1-2 [[oeasy]教你玩转rust编程] 通过编译 helloworld (03:06)
1-3 [[oeasy]教你玩转rust编程] emacs 配置 关键字高亮显示 设置emacs 包列表 安装包 (04:27)
1-4 [[oeasy]教你玩转rust编程] cargo环境的配置 包管理 toml文件配置 (17:07)
1-5 [[oeasy]教你玩转rust编程] 函数声明和调用 (09:31)
1-6 [[oeasy]教你玩转rust编程] intellij集成开发环境 (08:50)
1-7 [[oeasy]教你玩转rust编程] rust6-猜数字上 guess number std Result 基础例子 (08:33)
1-8 [[oeasy]教你玩转rust编程] [oeasy]rust7 猜数字 引用外部包 extern (07:35)
1-9 [[oeasy]教你玩转rust编程] 猜数字下循环结构 loop 分支结构match (08:33)
1-10 [[oeasy]教你玩转rust编程] 变量const mut let shadowing (09:15)
1-11 [[oeasy]教你玩转rust编程] 基础数据类型 整形 浮点型字符型 运算符 (10:20)
1-12 [[oeasy]教你玩转rust编程] 基础数据类型 整形 浮点型字符型 运算符 (10:20)
1-13 [[oeasy]教你玩转rust编程] 复合类型tup 数组array (08:33)
1-14 [[oeasy]教你玩转rust编程] 12函数声明和调用 (09:31)
1-15 [[oeasy]教你玩转rust编程] 注释 if 条件语句 条件表达式 静态变量 (07:51)
1-16 [[oeasy]教你玩转rust编程] 循环语句 for while loop break 递归 斐 (14:04)
1-17 [[oeasy]教你玩转rust编程] OwnerShip Scope 作用域 所有权 (19:38)
1-18 [[oeasy]教你玩转rust编程] borrow reference 引用 传址 (12:50)
1-19 [[oeasy]教你玩转rust编程] slices slice 片段 数组片段 字符串片段 有片段 (17:56)
1-20 [[oeasy]教你玩转rust编程] struct 结构体 成员 (07:25)
1-21 [[oeasy]教你玩转rust编程] method 结构体成员方法 关联方法 (16:25)
1-22 [[oeasy]教你玩转rust编程] enum (25:19)
1-23 [[oeasy]教你玩转rust编程] if let 条件分支语句 (06:03)
1-24 [[oeasy]教你玩转rust编程] pub包 (17:07)
1-25 [[oeasy]教你玩转rust编程] use (07:00)
1-26 [[oeasy]教你玩转rust编程] pub (11:39)
1-27 [[oeasy]教你玩转rust编程] Collection (25:16)
1-28 [[oeasy]教你玩转rust编程] string (20:41)