为你推荐
版权页
目录
前言
语言基础篇
第1章 初识Rust
1.1 Rust语言简介
1.2 搭建编程环境
1.3 Hello Rust
1.4 Hello Cargo
1.5 本章小结
第2章 变量与数据类型
2.1 变量和可变性
2.1.1 变量声明
2.1.2 变量的可变性
2.1.3 变量遮蔽
2.1.4 常量
2.2 基本数据类型
2.2.1 整数类型
2.2.2 浮点数类型
2.2.3 布尔类型
2.2.4 字符类型
2.2.5 范围类型
2.3 复合数据类型
2.3.1 元组类型
2.3.2 数组类型
2.3.3 结构体类型
2.3.4 枚举类型
2.4 容器类型
2.4.1 Vec
2.4.2 VecDeque
2.4.3 HashMap
2.5 字符串
2.5.1 字符串的创建
2.5.2 字符串的修改
2.5.3 字符串的访问
2.6 字面量和运算符
2.6.1 字面量
2.6.2 运算符
2.7 本章小结
第3章 流程控制
3.1 条件判断
3.1.1 if条件判断
3.1.2 if-else条件判断
3.1.3 if-else if-else条件判断
3.2 循环
3.2.1 loop循环
3.2.2 while循环
3.2.3 for循环
3.2.4 continue和break语句
3.3 match模式匹配
3.4 if let和while let模式匹配
3.5 本章小结
第4章 函数、闭包与迭代器
4.1 函数
4.1.1 定义函数
4.1.2 方法和函数
4.1.3 高阶函数
4.2 闭包
4.2.1 基本语法
4.2.2 类型推断
4.2.3 捕获环境变量
4.3 迭代器
4.3.1 Iterator trait
4.3.2 消费器
4.3.3 迭代器适配器
4.4 本章小结
第5章 类型系统
5.1 泛型
5.1.1 泛型与容器
5.1.2 泛型与结构体
5.1.3 泛型与枚举
5.1.4 泛型与函数
5.1.5 泛型与方法
5.2 trait系统
5.2.1 trait定义与实现
5.2.2 trait作为参数
5.2.3 返回实现trait的类型
5.2.4 标准库常用trait
5.3 类型转换
5.3.1 原生类型间的转换
5.3.2 数字与String类型间的转换
5.3.3 &str与String类型间的转换
5.4 本章小结
第6章 所有权系统
6.1 通用概念
6.1.1 栈内存与堆内存
6.1.2 值语义与引用语义
6.1.3 复制语义与移动语义
6.2 所有权机制
6.2.1 变量绑定
6.2.2 所有权转移
6.2.3 浅复制与深复制
6.3 引用和借用
6.3.1 引用与可变引用
6.3.2 借用规则
6.3.3 借用示例1:切片
6.3.4 借用示例2:迭代器
6.4 生命周期
6.4.1 生命周期语法
6.4.2 悬垂引用
6.4.3 生命周期与函数
6.4.4 生命周期与结构体
6.4.5 生命周期省略规则
6.5 本章小结
第7章 智能指针
7.1 独占所有权的Box<T>
7.1.1 Box<T>在堆上存储数据
7.1.2 Deref解引用
7.1.3 Drop清理资源
7.2 共享所有权的Rc<T>
7.3 应对内部可变性的RefCell<T>
7.4 本章小结
第8章 并发编程
8.1 多线程并发
8.1.1 线程管理
8.1.2 线程池
8.2 异步并发
8.2.1 async/.await语法
8.2.2 async-std库
8.3 本章小结
第9章 错误处理
9.1 Result<T, E>
9.1.1 高效处理Result<T, E>
9.1.2 处理不同类型的错误
9.1.3 传播错误
9.2 Panic
9.2.1 追踪Panic
9.2.2 捕获Panic
9.3 本章小结
第10章 模块化编程
10.1 crate管理
10.1.1 使用Cargo创建crate
10.1.2 使用第三方crate
10.2 module系统
10.2.1 定义模块
10.2.2 创建多文件模块
10.2.3 多文件模块的层级关系
10.2.4 模块的可见性
10.2.5 使用use导入模块
10.2.6 模块的路径
10.2.7 使用pub use重导出
10.2.8 加载外部crate
10.3 本章小结
第11章 单元测试
11.1 单元测试框架
11.2 编写测试
11.2.1 使用assert!
11.2.2 使用assert_eq!和assert_ne!
11.2.3 自定义失败信息
11.3 运行测试
11.3.1 运行部分测试
11.3.2 忽略某些测试
11.4 本章小结
编程能力训练篇
第12章 数据结构实战
12.1 数组
12.1.1 移动零
12.1.2 加一
12.1.3 删除排序数组中的重复项
12.2 栈与队列
12.2.1 最小栈
12.2.2 有效的括号
12.2.3 滑动窗口最大值
12.3 哈希表
12.3.1 两数之和
12.3.2 有效的字母异位词
12.3.3 字母异位词分组
12.4 链表
12.4.1 反转链表
12.4.2 链表的中间节点
12.4.3 合并两个有序链表
12.4.4 删除链表的倒数第n个节点
12.5 树
12.5.1 二叉树的前序遍历
12.5.2 二叉树的中序遍历
12.5.3 二叉树的后序遍历
12.5.4 二叉树的层次遍历
12.5.5 二叉搜索树中的插入操作
12.6 本章小结
第13章 算法实战
13.1 递归、分治与回溯
13.1.1 pow(x, n)
13.1.2 爬楼梯
13.1.3 括号生成
13.1.4 子集
13.1.5 组合
13.1.6 N皇后
13.2 二分查找
13.2.1 搜索旋转排序数组
13.2.2 寻找旋转排序数组中的最小值
13.2.3 有效的完全平方数
13.3 深度与广度优先搜索
13.3.1 二叉树的最大深度
13.3.2 二叉树的最小深度
13.3.3 二叉搜索树中的搜索
13.4 排序算法
13.4.1 数组中的第k个最大元素
13.4.2 合并区间
13.4.3 翻转对
13.5 动态规划
13.5.1 爬楼梯
13.5.2 最小路径和
13.5.3 三角形最小路径和
13.5.4 零钱兑换
13.5.5 最长上升子序列
13.5.6 编辑距离
13.6 本章小结
综合实战篇
第14章 泛型与高阶函数实战
14.1 工程管理
14.2 泛型编程
14.2.1 插入排序算法
14.2.2 加载算法库
14.2.3 结构体实例排序
14.3 高阶函数编程
14.3.1 排序算法库
14.3.2 生成随机数据
14.3.3 排序算法API库
14.4 本章小结
第15章 并发编程实战
15.1 多线程并发
15.2 异步并发
15.2.1 排序算法库的异步实现
15.2.2 排序算法API库的异步实现
15.2.3 创建可执行程序
15.3 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜