跳转到内容
开发中
搜索
Ctrl
K
取消
GitHub
选择主题
深色
浅色
自动
选择语言
简体中文
English
菜单
开始
前言
关于作者
第一篇 内存与所有权
第 1 章 从自动释放到所有权
1.1 困难三角
1.2 栈与堆
1.3 赋值与移动
1.4 引用与共享
1.5 悬垂与生命周期
1.6 所有权与借用
第 2 章 变量与赋值
2.1 声明与绑定
2.2 可变与重新赋值
2.3 遮蔽与作用域
第二篇 类型
第 3 章 一切皆类型
3.1 编译期类型实体
3.2 类型构造器
3.3 构造器的组合
第 4 章 引用与数据容器
4.1 引用与可变引用
4.2 数组
4.3 切片与胖指针
4.4 动态数组 Vec<T>
4.5 字符串
4.6 键值容器 HashMap<K, V>
第 5 章 函数与结构体
5.1 函数、元组与表达式
5.2 结构体与部分移动
5.3 方法与接收者三件套
第 6 章 枚举、模式匹配与错误建模
6.1 枚举与代数数据类型(ADT)
6.2 模式匹配与穷尽性检查
6.3 Option 与空位优化
6.4 Result 与 ? 短路传播
6.5 工程裁决与 panic! 边界
第三篇 泛型、Trait 与函数式组合
第 7 章 泛型与 Trait 契约
7.1 泛型与单态化
7.2 Trait 契约与孤儿规则
7.3 关联类型 vs 泛型 Trait
7.4 转换契约与 ? 错误归并
7.5 语言有多小:内核与库
第 8 章 多态与架构选型——静态分发、动态分发与 OOP
8.1 从静态到动态的大局观
8.2 dyn Trait 与 16 字节胖指针
8.3 静态分发 vs 动态分发
8.4 多态架构选型与 OOP 对照
附录
附录 A 基础语法
A.1 标量与元组
A.2 函数与表达式
A.3 struct 与 enum
A.4 模块与 Prelude
A.5 命名约定与工程惯例
A.6 格式化打印
附录 B 机制详解
B.1 位置表达式与值表达式
B.2 字符串高频操作机制
B.3 for 的展开
B.4 niche 优化
B.5 编译器钩子 Trait 速查
B.6 生态约定 Trait 详解
附录 C 跨语言对照
C.1 从一切皆对象到一切皆类型
C.2 没有 class 的对象感
C.3 不同语言如何实现和类型
C.4 没有函数重载如何设计 API
GitHub
选择主题
深色
浅色
自动
选择语言
简体中文
English
附录 B 机制详解
主线中有些写法和操作需要更多代码才能解释清楚。这里分别讨论表达式所代表的位置、字符串常用操作、
for
循环的展开和枚举的表示优化。
各节可以按需阅读;遇到不熟悉的概念时,先回到对应的主线内容。
目录
Section titled “目录”
B.1 位置表达式与值表达式
B.2 字符串转换、拼接与高频操作机制
B.3 for 的展开
B.4 niche 优化:非法值里的免费座位
B.5 编译器钩子 Trait 速查:运算符、Copy 与语言项(Lang Items)
B.6 生态约定 Trait 详解:From / Into、TryFrom、Default 与 AsRef