更新时间:2021-01-29 11:52:35
封面
版权页
Preface 前言
Acknowledgements 致谢
About this book 关于本书
Types and possible values 类型及可能的取值
Common algorithms 常用算法
第1章 类型简介
本章要点
1.1 为什么存在类型
1.1.1 0和1
1.1.2 类型和类型系统的定义
1.2 类型系统的优点
1.2.1 正确性
1.2.2 不可变性
1.2.3 封装
1.2.4 可组合性
1.2.5 可读性
1.3 类型系统的类型
1.3.1 动态类型和静态类型
1.3.2 弱类型与强类型
1.3.3 类型推断
小结
第2章 基本类型
2.1 设计不返回值的函数
2.1.1 空类型
2.1.2 单元类型
2.1.3 习题
2.2 布尔逻辑和短路
2.2.1 布尔表达式
2.2.2 短路计算
2.2.3 习题
2.3 数值类型的常见陷阱
2.3.1 整数类型和溢出
2.3.2 浮点类型和圆整
2.3.3 任意大数
2.3.4 习题
2.4 编码文本
2.4.1 拆分文本
2.4.2 编码
2.4.3 编码库
2.4.4 习题
2.5 使用数组和引用构建数据结构
2.5.1 固定大小数组
2.5.2 引用
2.5.3 高效列表
2.5.4 二叉树
2.5.5 关联数组
2.5.6 实现时的权衡
2.5.7 习题
习题答案
第3章 组合
3.1 复合类型
3.1.1 元组
3.1.2 赋予意义
3.1.3 维护不变量
3.1.4 习题
3.2 使用类型表达多选一
3.2.1 枚举
3.2.2 可选类型
3.2.3 结果或错误
3.2.4 变体
3.2.5 习题
3.3 访问者模式
3.3.1 简单实现
3.3.2 使用访问者模式
3.3.3 访问变体
3.3.4 习题
3.4 代数数据类型
3.4.1 乘积类型
3.4.2 和类型
3.4.3 习题
第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 类型转换
4.3.2 在类型系统之外跟踪类型
4.3.3 常见类型转换
4.3.4 习题
4.4 隐藏和恢复类型信息
4.4.1 异构集合
4.4.2 序列化
4.4.3 习题
第5章 函数类型