可以将 Rust 理解为 C 的直接替代品,提供了系统级的性能,而且在很多方面更好,最常提到的就是内存安全,并且可以与遗留 C 代码原生互操作以进行增量替换。
Rust 语言最初只是 Mozilla 员工 Graydon Hoare 在 2006 年创建的一个业余项目,在 2015 年,Mozilla 发布了 Rust 的首个稳定版本 v1.0 成为 Rust 一个重要的里程碑。
做一个 Rustacean 吧。
简介
包管理
基本语法
- 语法简介 介绍常见的语法,例如变量、结构体、循环、函数、注解等等,其中 字符串 单独介绍 (含动态数组)。
- 结构体详解 包含了基本的定义,以及使用技巧。
- 高级语法 包括范型、闭包、函数编程等介绍,其中 宏编程、Trait 单独介绍,同时包括了常用特征 整理。
- 生命周期 这也是 Rust 的核心功能,以此支持安全编程。
- 模式匹配 这是 Rust 中的一种控制流语句,语法简单但是提供了很多复杂的功能,这里详细介绍。
- 错误处理 相比其它语言来说略有区别,这里简单介绍。
- 内存管理 主要包括了 Clone、Copy、Drop 等操作的介绍。
- 集成测试 包含了基础的单元测试。
- 智能指针
异步 VS. 并发
异步编程是一个并发编程模型,当前大部分语言都已经支持,只是实现方式略有不同。
Tokio
其它
- ffi 不同语言相互调用定义,包括基础的 C 调用 Rust、Rust 调用 C,其它语言的有 PyO3(Python) 。
常用三方库
- log 与日志相关的常用三方库使用方式,同时也包含了 Trace 相关的内容。
- clap 一个简单易用,功能强大的命令行参数解析库。
- iced 跨平台的 GUI 编程框架。
- serde 通用的序列化、反序列化框架。
- chrono 用于时间处理的实现,除了这个库之外,同时包含
std::time
部分使用。 - crossterm 不错的跨平台 Terminal 库。
参考
- Play Rust Lang 在线的运行页面,可以用作展示简单程序示例。
- crates.io 官方的包仓库,可以用来搜索需要的库,以及对应最新版本。
- RFCs Rust 语言的各个设计提案,可以详细查看其具体特性后面的设计原理。
- Rust Wiki 很不错的中译版文档,极力推荐,还有 死灵书、Inside Rust Blog 有很多内部机制相关文章。