Skip to content

Rust 学习路线

Rust 开发者学习路线图:学习成为一名 Rust 开发人员 (roadmap.sh)

Rust 开发者学习路线图为 Rust 初学者提供了一条清晰、系统的学习道路。通过循序渐进地学习 Rust 的各项知识点和技能,你可以从入门到精通,成长为一名优秀的 Rust 开发者。在学习过程中,要多动手实践,多参与社区讨论,多阅读优秀的 Rust 项目源码。让我们一起踏上 Rust 学习之旅,感受 Rust 编程的魅力吧!

文章:第 N 次入门了,打算从头开始学 Rust。 (qq.com)

主要内容

Rust 开发者学习路线图主要包括以下几个部分:

  1. 基础知识:掌握 Rust 语言的基本语法、数据类型、控制流、函数、所有权系统等核心概念。
  2. 面向对象编程:学习 Rust 中的结构体、枚举、trait 等面向对象编程的特性,了解 Rust 独特的面向对象设计思想。
  3. 错误处理:掌握 Rust 中的错误处理机制,包括 ResultOption 类型的使用,以及错误传播和处理的最佳实践。
  4. 并发编程:学习 Rust 强大的并发编程支持,包括线程、消息传递、共享状态等并发模型,以及并发安全的编程技巧。
  5. 生态系统:了解 Rust 丰富的库和框架生态,掌握包管理工具 Cargo 的使用,学习主流的 Web 框架、异步编程库等。
  6. 工程实践:掌握单元测试、集成测试、性能调优、持续集成等软件工程实践,提高代码质量和开发效率。
  7. 高级主题:学习 Rust 的高级特性,如不安全代码、宏、类型系统、FFI 等,进一步提升 Rust 编程能力。

这些内容循序渐进,帮助你从入门到精通,成长为一名优秀的 Rust 开发者。

Rust 语言基础

  • 语法和语义
  • 变量、常量和数据类型
  • 控制流构造
  • 函数和方法语法
  • 模式匹配和解构

所有权

  • 所有权规则和内存安全
  • 借用、引用和切片
  • 深入理解栈与堆

错误处理

  • Option 和 Result 枚举类型
  • 错误传播和?运算符
  • 自定义错误类型和特征

宏和元编程

  • 声明式宏(macro_rules!)
  • 过程宏和自定义派生
  • Rust 领域特定语言(DSLs)

Rust 的生态系统和库

  • Web 开发(如 Rocket, Warp, Actix, Yew)
  • 密码学(如 ring, rust-crypto, sodiumoxide)
  • CLI 工具(如 clap, structopt, termion, rust-gdb, rust-lldb)
  • 调试(如 wasm-bindgen, wasm-pack, wasmer)
  • 枚举、结构体、特征和实现块
  • 数据结构(如向量、字符串、哈希映射、链表、二叉堆等)

高级主题

  • 并发和并行编程(线程、通道、原子操作、内存屏障、Futures 和 Async/Await 范式)
  • 模块和包、代码组织和命名空间
  • 依赖管理(Cargo.toml)和发布到 crates.io
  • 生命周期和借用检查器、特征和泛型(显式生命周期注释、生命周期省略规则、协变和逆变生命周期、特征定义和实现、特征界限和关联类型)
  • Tokio、async-std、smol 等异步编程库
  • 网络(如 reqwest, hyper, quinn)
  • 数据库和 ORM(如 Diesel, sqlx, rusqlite)
  • 游戏开发(如 bevy, fyrox, ggez, macroquad, wgpu-rs)
  • WebAssembly(WASM)
  • 序列化/反序列化(如 Serde, json-rust, toml-rs)
  • GUI 开发(如 druid, gtk-rs, relm)
  • 嵌入式和系统编程(如 embedded-hal, rppal, nrf-hal)
  • 测试(单元测试和集成测试、模拟和基于属性的测试)
  • 文档编写(rustdoc)
  • 性能和分析(Criterion.rs)

持续学习

这一点非常重要,应该要保持学习,和不断地探索和学习新特性及实践。这些路线图,可作参考来学习,其次参与社区讨论社群等,不懂就问,本来就是一个学习的过程。

Released under the MIT License.