《Go语言入门经典》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(英)乔治·奥尔波(George Ornbo)
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115485038
  • 页数:261 页
图书介绍:本书讲解了使用Go语言编写高质量程序的方法,其内容涵盖了Go语言特性和标准库安装包,Go与JavaScript的对比,Go命令行工具,Go中的基本概念(比如类型、变量、函数、控制结构、指针、接口等)、错误处理、goroutines和channels、Go代码测试、使用Go编写HTTP客户端与服务器、处理JSON和文件、部署GO代码等。本书适合想要掌握Go语言的零基础用户学习。

第1章 起步 1

1.1 Go简介 1

1.1.1 Go语言简史 1

1.1.2 Go是编译型语言 2

1.2 安装Go 2

1.2.1 在Windows系统中安装 3

1.2.2 在macOS或Linux系统中安装 4

1.3 设置环境 4

1.4 编写第一个Go程序——Hello World 5

1.4.1 使用go run编译并运行程序 6

1.4.2 Go吉祥物 6

1.5 小结 6

1.6 问与答 7

1.7 作业 7

1.7.1 小测验 7

1.7.2 答案 7

1.8 练习 7

第2章 理解类型 8

2.1 数据类型是什么 8

2.2 区分静态类型和动态类型 8

2.3 使用布尔类型 11

2.4 理解数值类型 12

2.4.1 带符号整数和无符号整数 13

2.4.2 浮点数 14

2.4.3 字符串 14

2.4.4 数组 14

2.5 检查变量的类型 15

2.6 类型转换 16

2.7 小结 17

2.8 问与答 17

2.9 作业 17

2.9.1 小测验 17

2.9.2 答案 17

2.10 练习 18

第3章 理解变量 19

3.1 变量是什么 19

3.2 快捷变量声明 21

3.3 理解变量和零值 21

3.4 编写简短变量声明 22

3.5 变量声明方式 23

3.6 理解变量作用域 24

3.7 使用指针 25

3.8 声明常量 27

3.9 小结 28

3.10 问与答 28

3.11 作业 29

3.11.1 小测验 29

3.11.2 答案 29

3.12 练习 29

第4章 使用函数 30

4.1 函数是什么 30

4.1.1 函数的结构 30

4.1.2 返回单个值 31

4.1.3 返回多个值 32

4.2 定义不定参数函数 33

4.3 使用具名返回值 34

4.4 使用递归函数 35

4.5 将函数作为值传递 36

4.6 小结 38

4.7 问与答 38

4.8 作业 38

4.8.1 小测验 38

4.8.2 答案 38

4.9 练习 39

第5章 控制流程 40

5.1 使用if语句 40

5.2 使用else语句 42

5.3 使用else if语句 43

5.4 使用比较运算符 44

5.5 使用算术运算符 45

5.6 使用逻辑运算符 45

5.7 使用switch语句 46

5.8 使用for语句进行循环 47

5.8.1 包含初始化语句和后续语句的for语句 49

5.8.2 包含range子句的for语句 49

5.9 使用defer语句 50

5.10 小结 52

5.11 问与答 52

5.12 作业 53

5.12.1 小测验 53

5.12.2 答案 53

5.13 练习 53

第6章 数组、切片和映射 54

6.1 使用数组 54

6.2 使用切片 56

6.2.1 在切片中添加元素 56

6.2.2 从切片中删除元素 58

6.2.3 复制切片中的元素 58

6.3 使用映射 59

从映射中删除元素 60

6.4 小结 61

6.5 问与答 61

6.6 作业 62

6.6.1 小测验 62

6.6.2 答案 62

6.7 练习 62

第7章 使用结构体和指针 63

7.1 结构体是什么 63

7.2 创建结构体 65

7.3 嵌套结构体 68

7.4 自定义结构体数据字段的默认值 69

7.5 比较结构体 71

7.6 理解公有和私有值 72

7.7 区分指针引用和值引用 73

7.8 小结 75

7.9 问与答 75

7.10 作业 76

7.10.1 小测验 76

7.10.2 答案 76

7.11 练习 76

第8章 创建方法和接口 77

8.1 使用方法 77

8.2 创建方法集 79

8.3 使用方法和指针 80

8.4 使用接口 83

8.5 小结 86

8.6 问与答 86

8.7 作业 87

8.7.1 小测验 87

8.7.2 答案 87

8.8 练习 87

第9章 使用字符串 88

9.1 创建字符串字面量 88

9.2 理解rune字面量 89

9.3 拼接字符串 90

9.3.1 使用缓冲区拼接字符串 92

9.3.2 理解字符串是什么 93

9.3.3 处理字符串 94

9.4 小结 97

9.5 问与答 97

9.6 作业 97

9.6.1 小测验 97

9.6.2 答案 97

9.7 练习 98

第10章 处理错误 99

10.1 错误处理及Go语言的独特之处 99

10.2 理解错误类型 101

10.3 创建错误 101

10.4 设置错误的格式 102

10.5 从函数返回错误 103

10.6 错误和可用性 104

10.7 慎用panic 104

10.8 小结 106

10.9 问与答 106

10.10 作业 106

10.10.1 小测验 106

10.10.2 答案 106

10.11 练习 107

第11章 使用Goroutine 108

11.1 理解并发 108

11.2 并发和并行 110

11.3 通过Web浏览器来理解并发 110

11.4 阻塞和非阻塞代码 111

11.5 使用Goroutine处理并发操作 112

11.6 定义Goroutine 114

11.7 小结 114

11.8 问与答 114

11.9 作业 115

11.9.1 小测验 115

11.9.2 答案 115

11.10 练习 115

第12章 通道简介 116

12.1 使用通道 116

12.2 使用缓冲通道 119

12.3 阻塞和流程控制 120

12.4 将通道用作函数参数 123

12.5 使用select语句 123

12.6 退出通道 126

12.7 小结 128

12.8 问与答 128

12.9 作业 128

12.9.1 小测验 129

12.9.2 答案 129

12.10 练习 129

第13章 使用包实现代码重用 130

13.1 导入包 130

13.2 理解包的用途 131

13.3 使用第三方包 132

13.4 安装第三方包 132

13.5 管理第三方依赖 133

13.6 创建包 135

13.7 小结 137

13.8 问与答 137

13.9 作业 137

13.9.1 小测验 137

13.9.2 答案 138

13.10 练习 138

第14章 Go语言命名约定 139

14.1 Go代码格式设置 139

14.2 使用gofmt 140

14.3 配置文本编辑器 141

14.4 命名约定 142

14.5 使用golint 143

14.6 使用godoc 144

14.7 工作流程自动化 147

14.8 小结 148

14.9 问与答 149

14.10 作业 149

14.10.1 小测验 149

14.10.2 答案 149

14.11 练习 149

第15章 测试和性能 150

15.1 测试:软件开发最重要的方面 150

15.1.1 单元测试 151

15.1.2 集成测试 151

15.1.3 功能测试 151

15.1.4 测试驱动开发 151

15.2 testing包 151

15.3 运行表格驱动测试 154

15.4 基准测试 156

15.5 提供测试覆盖率 158

15.6 小结 159

15.7 问与答 159

15.8 作业 159

15.8.1 小测验 159

15.8.2 答案 159

15.9 练习 160

第16章 调试 161

16.1 日志 161

16.2 打印数据 164

16.3 使用fmt包 165

16.4 使用Delve 168

16.5 使用gdb 170

16.6 小结 171

16.7 问与答 171

16.8 作业 171

16.8.1 小测验 171

16.8.2 答案 172

16.9 练习 172

第17章 使用命令行程序 173

17.1 操作输入和输出 174

17.2 访问命令行参数 174

17.3 分析命令行标志 176

17.4 指定标志的类型 177

17.5 自定义帮助文本 178

17.6 创建子命令 179

17.7 POSIX兼容性 182

17.8 安装和分享命令行程序 182

17.9 小结 184

17.10 问与答 184

17.11 作业 184

17.11.1 小测验 185

17.11.2 答案 185

17.12 练习 185

第18章 创建HTTP服务器 186

18.1 通过Hello World Web服务器宣告您的存在 186

18.2 查看请求和响应 187

18.2.1 使用curl发出请求 188

18.2.2 详谈路由 189

18.3 使用处理程序函数 189

18.4 处理404错误 190

18.5 设置报头 191

18.6 响应以不同类型的内容 192

18.7 响应不同类型的请求 194

18.8 获取GET和POST请求中的数据 195

18.9 小结 197

18.10 问与答 198

18.11 作业 198

18.11.1 小测验 198

18.11.2 答案 198

18.12 练习 199

第19章 创建HTTP客户端 200

19.1 理解HTTP 200

19.2 发出GET请求 201

19.3 发出POST请求 202

19.4 进一步控制HTTP请求 204

19.5 调试HTTP请求 205

19.6 处理超时 207

19.7 小结 208

19.8 问与答 209

19.9 作业 209

19.9.1 小测验 209

19.9.2 答案 209

19.10 练习 210

第20章 处理JSON 211

20.1 JSON简介 211

20.2 使用JSON API 213

20.3 在Go语言中使用JSON 213

20.4 解码JSON 217

20.5 映射数据类型 219

20.6 处理通过HTTP收到的JSON 220

20.7 小结 221

20.8 问与答 221

20.9 作业 222

20.9.1 小测验 222

20.9.2 答案 222

20.10 练习 222

第21章 处理文件 223

21.1 文件的重要性 223

21.2 使用ioutil包读写文件 224

21.2.1 读取文件 224

21.2.2 创建文件 225

21.3 写入文件 227

21.4 列出目录的内容 228

21.5 复制文件 229

21.6 删除文件 230

21.7 使用文件来管理配置 231

21.7.1 使用JSON文件 231

21.7.2 使用TOML文件 232

21.8 小结 234

21.9 问与答 234

21.10 作业 234

21.10.1 小测验 235

21.10.2 答案 235

21.11 练习 235

第22章 正则表达式简介 236

22.1 定义正则表达式 236

22.2 熟悉正则表达式语法 238

22.3 使用正则表达式验证数据 239

22.4 使用正则表达式来变换数据 240

22.5 小结 241

22.6 问与答 241

22.7 作业 241

22.7.1 小测验 242

22.7.2 答案 242

22.8 练习 242

第23章 Go语言时间编程 243

23.1 时间元素编程 243

23.2 让程序休眠 245

23.3 设置超时时间 245

23.4 使用ticker 246

23.5 以字符串格式表示时间 247

23.6 使用结构体Time 248

23.7 时间加减 249

23.8 比较两个不同的Time结构体 249

23.9 小结 250

23.10 问与答 250

23.11 作业 251

23.11.1 小测验 251

23.11.2 答案 251

23.12 练习 251

第24章 部署Go语言代码 252

24.1 理解目标 252

24.2 压缩二进制文件的大小 255

24.3 使用Docker 256

24.4 下载二进制文件 258

24.5 使用go get 259

24.6 通过包管理器发布代码 260

24.7 小结 260

24.8 问与答 260

24.9 作业 261

24.9.1 小测验 261

24.9.2 答案 261

24.10 练习 261