小册描述
目录
- 接口是什么
- 接口嵌套接口
- 类型断言:如何检测和转换接口变量的类型
- 类型判断:type-switch
- 测试一个值是否实现了某个接口
- 使用方法集与接口
- 第一个例子:使用 Sorter 接口排序
- 第二个例子:读和写
- 空接口
- 反射包
- Printf 和反射
- 接口与动态类型
- 总结:Go 中的面向对象
- 结构体、集合和高阶函数
- 读取用户的输入
- 文件读写
- 文件拷贝
- 从命令行读取参数
- 用 buffer 读取文件
- 用切片读写文件
- 用 defer 关闭文件
- 使用接口的实际例子:fmt.Fprintf
- 格式化 JSON 数据
- XML 数据格式
- 用 Gob 传输数据
- Go 中的密码学
- 错误处理
- 运行时异常和 panic
- 从 panic 中恢复(Recover)
- 自定义包中的错误处理和 panicking
- 一种用闭包处理错误的模式
- 启动外部命令和程序
- Go 中的单元测试和基准测试
- 测试的具体例子
- 用(测试数据)表驱动测试
- 性能调试:分析并优化 Go 程序
- 什么是协程
- 协程间的信道
- 协程的同步:关闭通道-测试阻塞的通道
- 使用 select 切换协程
- 通道、超时和计时器(Ticker)
- 协程和恢复(recover)
- 新旧模型对比:任务和worker
- 惰性生成器的实现
- 实现 Futures 模式
- 复用
- 限制同时处理的请求数
- 链式协程
- 在多核心上并行计算
- 并行化大量数据的计算
- 漏桶算法
- 对Go协程进行基准测试
- 使用通道并发访问对象
- tcp服务器
- 一个简单的网页服务器
- 访问并读取页面
- 写一个简单的网页应用
- 确保网页应用健壮
- 用模板编写网页应用
- 探索 template 包
- 精巧的多功能网页服务器
- 用 rpc 实现远程过程调用
- 基于网络的通道 netchan
- 与 websocket 通信
- 用 smtp 发送邮件