返回首页
《精通Go语言编程》
第一章 前言
1.1 Go语言起源
1.2 Go语言项目
1.3 本书的组织
1.4 更多的信息
1.5 致谢
第二章 入门
2.1 Hello, World
2.2 命令行参数
2.3 查找重复的行
2.4 GIF动画
2.5 获取URL
2.6 并发获取多个URL
2.7 Web服务
2.8 本章要点
第三章 程序结构
3.1 命名
3.2 声明
3.3 变量
3.4 赋值
3.5 类型
3.7 包和文件
3.8 作用域
第四章 基础数据类型
4.1 整型
4.2 浮点数
4.3 复数
4.4 布尔型
4.5 字符串
4.6 常量
第五章 复合数据类型
5.1 数组
5.2 Slice
5.3 Map
5.4 结构体
5.5 JSON
5.6 文本和HTML模板
第六章 函数
6.1 函数声明
6.2 递归
6.3 多返回值
6.4 错误
6.5 函数值
6.6 匿名函数
6.7 可变参数
6.8 Deferred函数
6.9 Panic异常
6.10 Recover捕获异常
第七章 方法
7.1 方法声明
7.2 基于指针对象的方法
7.3 通过嵌入结构体来扩展类型
7.4 方法值和方法表达式
7.5 示例: Bit数组
7.6 封装
第八章 接口
8.1 接口是合约
8.2 接口类型
8.3 实现接口的条件
8.4 flag.Value接口
8.5 接口值
8.6 sort.Interface接口
8.7 http.Handler接口
8.8 error接口
8.9 示例: 表达式求值
8.10 类型断言
8.11 基于类型断言区别错误类型
8.12 通过类型断言询问行为
8.13 类型分支
8.14 示例: 基于标记的XML解码
8.15 一些建议
第九章 Goroutines和Channels
9.1 Goroutines
9.2 示例: 并发的Clock服务
9.3 示例: 并发的Echo服务
9.4 Channels
9.5 并发的循环
8.6 示例: 并发的Web爬虫
9.7 基于select的多路复用
9.8 示例: 并发的目录遍历
9.9 并发的退出
9.10 示例: 聊天服务
第十章 基于共享变量的并发
10.1 竞争条件
10.2 sync.Mutex互斥锁
10.3 sync.RWMutex读写锁
10.4 内存同步
10.5 sync.Once惰性初始化
10.6 竞争条件检测
10.7 示例: 并发的非阻塞缓存
第十一章 包和工具
11.1 包简介
11.2 导入路径
11.3 包声明
11.4 导入声明
11.5 包的匿名导入
11.7 包和命名
11.7 工具
第十二章 测试
12.1 go test
12.2 测试函数
12.3. 测试覆盖率
12.4 基准测试
12.5 剖析
12.6 示例函数
第十三章 反射
13.1 为何需要反射?
13.2 reflect.Type 和 reflect.Value
13.3 Display,一个递归的值打印器
13.4 示例: 编码为S表达式
13.5 通过reflect.Value修改值
13.6 示例: 解码S表达式
13.7 获取结构体字段标签
13.8 显示一个类型的方法集
13.9 几点忠告
第十四章 底层编程
14.1unsafe.Sizeof, Alignof 和 Offsetof
14.2 unsafe.Pointer
14.3 示例: 深度相等判断
14.4 通过cgo调用C代码
14.5 几点忠告
附录
附录A:原文勘误
附录B:作者/译者
附录C:译文授权
附录
英文原版并没有包含附录部分,只有一个索引部分。中文版增加附录部分主要用于收录一些和本书相关的内容,比如英文原版的勘误(有些读者可能会对照中文和英文原阅读)、英文作者和中文译者、译文授权等内容。以后还可能会考虑增加一些习题解答相关的内容。
需要特别说明的是,中文版附录并没有包含英文原版的索引信息。因为英文原版的索引信息主要是记录每个索引所在的英文页面位置,而中文版是以GitBook方式组织的html网页形式,将英文页面位置转为章节位置可能会更合理,不过这个会涉及到繁琐的手工操作。如果大家有更好的建议,请告知我们。
打赏作者
留下你的读书笔记
你还没登录,点击这里
登录
用户笔记留言
点击加载更多评论