Rust 程序设计语言入门指南基本 Rust 技能Rust 编程思想高级主题Rust 程序设计语言Rust 程序设计语言 前言 介绍 入门指南 入门指南 安装Hello, World!Hello, Cargo! 猜猜看游戏教程 常见编程概念 变量与可变性数据类型函数如何工作注释控制流 认识所有权 什么是所有权?引用与借用Slices 使用结构体来组织相关联的数据 定义并实例化结构体一个使用结构体的示例程序方法语法 枚举与模式匹配 定义枚举match 控制流运算符if let 简洁控制流 基本 Rust 技能 使用包、Crate 和模块管理不断增长的项目 包和 crate定义模块来控制作用域与私有性路径用于引用模块树中的项使用 use 关键字将名称引入作用域将模块分割进不同文件 常见集合 vector字符串哈希 map 错误处理 panic! 与不可恢复的错误Result 与可恢复的错误panic! 还是不 panic! 泛型、trait 与生命周期 泛型数据类型trait:定义共享的行为生命周期与引用有效性 测试 编写测试运行测试测试的组织结构 一个 I/O 项目:构建命令行程序 接受命令行参数读取文件重构以改进模块化与错误处理采用测试驱动开发完善库的功能处理环境变量将错误信息输出到标准错误而不是标准输出 Rust 编程思想 Rust 中的函数式语言功能:迭代器与闭包 闭包:可以捕获其环境的匿名函数使用迭代器处理元素序列改进之前的 I/O 项目性能比较:循环对迭代器 更多关于 Cargo 和 Crates.io 的内容 采用发布配置自定义构建将 crate 发布到 Crates.ioCargo 工作空间使用 cargo install 从 Crates.io 安装二进制文件Cargo 自定义扩展命令 智能指针 Box<T> 指向堆上数据,并且可确定大小通过 Deref trait 将智能指针当作常规引用处理Drop Trait 运行清理代码Rc<T> 引用计数智能指针RefCell<T> 与内部可变性模式引用循环与内存泄漏是安全的 无畏并发 线程消息传递共享状态可扩展的并发:Sync 与 Send Rust 的面向对象编程特性 面向对象语言的特点为使用不同类型的值而设计的 trait 对象面向对象设计模式的实现 高级主题 模式用来匹配值的结构 所有可能会用到模式的位置Refutability:何时模式可能会匹配失败模式的全部语法 高级特征 不安全的 Rust高级 trait高级类型高级函数与闭包宏 最后的项目: 构建多线程 web server 单线程 web server将单线程 server 变为多线程 server优雅停机与清理 附录 A - 关键字B - 运算符与符号C - 可派生的 traitD - 实用开发工具E - 版本F - 本书译本G - Rust 是如何开发的与 “Nightly Rust”