3天快速入门Rust
3天快速入门Rust
第一天
阅读官方文档:
- 标准库API文档
- Rust Reference: Rust reference 文档,有中文翻译版本 Rust语言规范 正在翻译过程中
- Rust编译错误索引:发生编译错误时,可以通过索引找到具体错误解释
- rustdoc文档: restdoc工具的使用文档
- Rustonomicon: rust的参考文档。但是目前并不完整,可能有遗漏和错误
- Unstable Book: 用于尚不稳定特性的文档
- Rustonomicon: unsafe rust的黑暗艺术,有中文翻译版本 Rust高级编程
- The Cargo Book: cargo使用介绍,有中文翻译版本 Cargo教程 正在进行中
- Rust Edition Guide: Rust 版本指南,传递 Rust 不同版本之间大的变更信息
- Command line apps in Rust: 在Rust中编写命令行程序
环境搭建:
安装及工具:https://www.rust-lang.org/zh-CN/learn/get-started
收罗网上各种干货:
- Rust 最大中文社区论坛:https://rustcc.cn/
- 小众中文社区的翻译资料/论坛:https://learnku.com/rust
- 2021 年去哪学 Rust:https://loige.co/where-to-go-to-learn-rust-in-2021/
- Rust Cheat Sheet(Rust语法备忘单):https://cheats.rs/
- Rust 中文书架与资讯:https://budshome.com/ | https://blog.budshome.com/
- 简要而基础的 Rust 知识(适合在 Rust Book 阶段当作补充材料):https://learning-rust.github.io/
- 微软发布的 Rust 新手教程:https://docs.microsoft.com/en-us/learn/paths/rust-first-steps/
- Rust-leetcodes刷题:https://stevenbai.top/rust-leetcode/
- Rust by Example 通过例子学 Rust:https://doc.rust-lang.org/rust-by-example/index.html
- 电子书下载 :https://jp1lib.org/s/Rust
- Rust线下全球会议:
- RustConf: https://rustconf.com/
- Rust Belt Rust: https://rust-belt-rust.com/
- RustFest: https://blog.rustfest.eu/
- Rust Latam: https://rustcon.asia/
- RustCon Asia: https://rustcon.asia/
第二天
推荐电子书籍阅读:
- 《深入浅出Rust》
- 《Rust权威指南》
- 《Rust 程序设计语言》
- 《精通Rust(第2版)》
第三天
实战语法学习:(PDF档下载)
- Rust if语句
- Rust if in a let语句
- Rust loop循环
- Rust for循环
- Rust while循环
- Rust所有权
- Rust参照和借用
- Rust切片
- Rust结构体
- Rust结构体更新语法
- Rust结构体方法语法
- Rust列举
- 匹配运算子
- Rust if let控制流程
- Rust模组
- Rust文件系统
- Rust公开函式
- Rust use关键字参照模组
- Rust向量
- Rust字串
- Rust错误处理
- Rust不可恢复的错误
- Rust可恢复的错误
- Rust泛型
- Rust Trait
- Rust生命周期
- Rust智慧
- Rust Box
- Rust Deref trait
- Rust Drop trait
总结:
Jay Oster, PubNub 架构师 :
“除了安全和性能,我们还有:
- 泛型;
- 特征;
- 代数类型;
- 函数式和命令式范式;
- 可能是世界上最好的依赖管理和构建工具,实际上解决了‘依赖地狱’问题;
- 对内嵌文档、测试和性能评测的美妙支持;
- 一个大的且正在生长的库、抽象、工具生态;
- 过程宏;
- 与已有代码的 FFI 交互性;
- 支持一打平台(更多的在路上!);
- 对开发者体验是正向的、毋庸置疑的满足。
Rust 是唯一一个下面所有框框都打勾的语言:
- 内存安全
- 类型安全
- 消除数据竞争
- 使用前编译
- 建立(并且鼓励)在零抽象之上
- 最小的运行时(无停止世界的垃圾搜集器,无 JIT 编译器,无 VM)
- 低内存占用(程序可以运行在资源受限的环境,比如小的微控制器)
- 裸金属目标(比如,写一个 OS 内核或者设备驱动,把 Rust 当一个 ‘高层’汇编器使用)”