Go语言实战中英文版(含源码)pdf
本帖最后由 scourglass22 于 2019-11-4 23:08 编辑Go 语言是由谷歌公司在 2007 年开始开发的一门语言,目的是能在多核心时代高效编写网络
应用程序。Go 语言的创始人 Robert Griesemer、Rob Pike 和 Ken Thompson 都是在计算机发展过程
中作出过重要贡献的人。自从 2009 年 11 月正式公开发布后,Go 语言迅速席卷了整个互联网后端
开发领域,其社区里不断涌现出类似 vitess、Docker、etcd、Consul 等重量级的开源项目。
在 Go 语言发布后,我就被其简洁、强大的特性所吸引,并于 2010 年开始在技术聚会上宣
传 Go 语言,当时所讲的题目是《Go 语言:互联网时代的 C》。现在看来,Go 语言确实很好地
解决了互联网时代开发的痛点,而且入门门槛不高,是一种上手容易、威力强大的工具。试想一
下,不需要学习复杂的异步逻辑,使用习惯的顺序方法,就能实现高性能的网络服务,并充分利
用系统的多个核心,这是多么美好的一件事情。
本书是国外 Go 社区多年经验积累的成果。本书默认读者已经具有一定的编程基础,希望更
好地使用 Go 语言。全书以示例为基础,详细介绍了 Go 语言中的一些比较深入的话题。对于有经
验的程序员来说,很容易通过学习书中的例子来解决自己实际工作中遇到的问题。辅以文字介绍,
读者会对相关问题有更系统的了解和认识。翻译过程中我尽量保持了原书的叙述方法,并加强了
叙述逻辑,希望读者会觉得清晰易读。
在翻译本书的过程中,感谢人民邮电出版社编辑杨海玲老师的指导和进度安排,让本书能
按时与读者见面。感谢谢孟军对译稿的审校,你的润色使译文读起来流畅了很多。尤其要感谢
我老婆对我的支持,感谢你能理解我出于热爱才会“匍匐”在计算机前码字。
最后,感谢读者购买此书。希望读者在探索 Go 语言的道路上,能够享受到和我一样的乐趣。
目录
第 1 章 关于 Go 语言的介绍 1
1.1 用Go解决现代编程难题 2
1.1.1 开发速度 2
1.1.2 并发 3
1.1.3 Go 语言的类型系统 5
1.1.4 内存管理 7
1.2 你好,Go 7
1.3 小结 8
第2章 快速开始一个Go程序 9
2.1 程序架构 9
2.2 main 包 11
2.3 search 包 13
2.3.1 search.go 13
2.3.2 feed.go 21
2.3.3 match.go/default.go 24
2.4 RSS 匹配器 30
2.5 小结 36
第 3 章 打包和工具链 37
3.1 包 37
3.1.1 包名惯例 38
3.1.2 main 包 38
3.2 导入 39
3.2.1 远程导入 40
3.2.2 命名导入 40
3.3 函数 init 41
3.4 使用 Go 的工具 42
3.5 进一步介绍 Go 开发
工具 44
3.5.1 go vet 44
3.5.2 Go 代码格式化 45
3.5.3 Go 语言的文档 45
3.6 与其他Go开发者合作 48
3.7 依赖管理 48
3.7.1 第三方依赖 49
3.7.2 对 gb 的介绍 50
3.8 小结 52
第 4 章 数组、切片和映射 53
4.1 数组的内部实现和基础
功能 53
4.1.1 内部实现 53
4.1.2 声明和初始化 54
4.1.3 使用数组 55
4.1.4 多维数组 58
4.1.5 在函数间传递数组 59
4.2 切片的内部实现和基础
功能 60
4.2.1 内部实现 60
4.2.2 创建和初始化 61
4.2.3 使用切片 63
4.2.4 多维切片 74
4.2.5 在函数间传递切片 75
4.3 映射的内部实现和基础
功能 76
4.3.1 内部实现 76
4.3.2 创建和初始化 78
4.3.3 使用映射 79
4.3.4 在函数间传递映射 81
4.4 小结 82
第5章 Go语言的类型系统 83
5.1 用户定义的类型 83
5.2 方法 87
5.3 类型的本质 90
5.3.1 内置类型 91
5.3.2 引用类型 91
5.3.3 结构类型 93
5.4 接口 95
5.4.1 标准库 96
5.4.2 实现 98
5.4.3 方法集 99
5.4.4 多态 103
5.5 嵌入类型 105
5.6 公开或未公开的
标识符 113
5.7 小结 121
第 6 章 并发 122
6.1 并发与并行 122
6.2 goroutine 125
6.3 竞争状态 132
6.4 锁住共享资源 135
6.4.1 原子函数 135
6.4.2 互斥锁 138
6.5 通道 140
6.5.1 无缓冲的通道 141
6.5.2 有缓冲的通道 146
6.6 小结 149
第 7 章 并发模式 150
7.1 runner 150
7.2 pool 158
7.3 work 168
7.4 小结 174
第 8 章 标准库 176
8.1 文档与源代码 177
8.2 记录日志 178
8.2.1 log 包 179
8.2.2 定制的日志记录器 182
8.2.3 结论 186
8.3 编码/解码 187
8.3.1 解码 JSON 187
8.3.2 编码 JSON 192
8.3.3 结论 193
8.4 输入和输出 193
8.4.1 Writer和 Reader接口 194
8.4.2 整合并完成工作 195
8.4.3 简单的 curl 199
8.4.4 结论 200
8.5 小结 200
第 9 章 测试和性能 201
9.1 单元测试 201
9.1.1 基础单元测试 202
9.1.2 表组测试 205
9.1.3 模仿调用 208
9.1.4 测试服务端点 212
9.2 示例 217
9.3 基准测试 220
9.4 小结 224
下载地址:
**** Hidden Message *****
好的, 谷歌公司在 2007 年开始开发的一门语言,目的是能在多核心时代高效编写网 下载看看先 感谢分享 要vip还要回复,感觉像婊子立牌坊,直接写vip 还省的注册 学习下,谢谢。 谢谢分享,收藏备用 啥也不说了,楼主就是给力! 啥也不说了,楼主就是给力! 下载看看 不错,又占了一个沙发! luckydasdasdsadas 谢谢分享
啥也不说了,楼主就是给力! sssffffffffffff 本帖最后由 asdfgj1987 于 2020-5-13 21:22 编辑
服了,回复后还要vip 确实恶心,回复后还要vip 不错,又占了一个沙发! 下载看下 哈哈哈哈哈哈哈哈哈