书籍 零基础GO语言从入门到精通的封面

零基础GO语言从入门到精通PDF电子书下载

零壹快学编著

购买点数

14

出版社

广州:广东人民出版社

出版时间

2020

ISBN

9787218139753

标注页数

402 页

PDF页数

418 页

图书目录

第1章 走进Go 1

1.1 Go编程语言概述 1

1.1.1 Go的历史 1

1.1.2 Go语言特性及应用场景 2

1.1.3 使用Go语言的项目 3

1.2 Go语言官方文档 4

1.3 学好Go的建议 5

1.4 常用软件及网站 6

1.5 小结 7

第2章 安装和运行Go 8

2.1 GOROOT和GOPATH 8

2.2 在Windows下安装Go 9

2.3 在Linux下安装Go 11

2.4 在Mac OS下安装Go 12

2.5 安装开发工具 13

2.5.1 GoLand下载 13

2.5.2 GoLand安装 13

2.5.3 GoLand使用 16

2.6 编写第一个Go程序 19

2.6.1 GoLand编写 19

2.6.2 文本编辑器编写 20

2.7 小结 21

第3章 基本变量与类型 22

3.1 Go语言变量 22

3.1.1 声明变量 22

3.1.2 初始化变量 23

3.1.3 变量值交换 25

3.1.4 匿名变量 26

3.2 Go语言数据类型 27

3.2.1 整型 27

3.2.2 浮点型 28

3.2.3 字符串 29

3.2.4 字符和转义字符 30

3.2.5 布尔型 31

3.2.6 数据类型判断 31

3.2.7 数据类型转换 32

3.3 指针 34

3.3.1 声明指针 34

3.3.2 取变量地址 34

3.3.3 获取指针所指向的内容 35

3.3.4 使用指针修改值 36

3.4 其他数据类型 37

3.5 小结 38

3.6 知识拓展 38

3.6.1 字符串的应用 38

3.6.2 Go语言注释 43

第4章 常量与运算符 44

4.1 常量 44

4.1.1 常量的定义 44

4.1.2 常量组的定义 45

4.1.3 常量枚举 46

4.2 运算符 47

4.2.1 算术运算符 47

4.2.2 比较运算符 49

4.2.3 赋值运算符 50

4.2.4 位运算符 51

4.2.5 逻辑运算符 52

4.2.6 其他运算符 53

4.3 小结 54

4.4 知识拓展 54

第5章 流程控制 56

5.1 if判断 56

5.2 循环控制 58

5.2.1 for循环 58

5.2.2 break跳出循环 59

5.2.3 continue继续循环 61

5.3 switch分支 61

5.4 goto跳转 63

5.5 小结 64

5.6 知识拓展 64

5.6.1 斐波那契数列 64

5.6.2 循环嵌套 67

第6章 Go语言内置容器 69

6.1 数组 69

6.1.1 声明数组 70

6.1.2 初始化数组 70

6.1.3 range关键字 71

6.1.4 遍历数组 72

6.2 切片 72

6.2.1 从数组生成一个新的切片 73

6.2.2 从切片生成一个新的切片 74

6.2.3 直接生成一个新的切片 75

6.2.4 为切片添加元素 77

6.2.5 从切片删除元素 79

6.2.6 遍历切片 80

6.3 映射 81

6.3.1 声明映射 81

6.3.2 初始化映射 82

6.3.3 遍历映射 83

6.3.4 从映射中删除键值对 84

6.4 小结 85

6.5 知识拓展 86

第7章 函数 90

7.1 声明函数 90

7.1.1 函数参数的简写 91

7.1.2 函数返回值的简写 91

7.1.3 带有变量名的返回值 92

7.2 使用函数 92

7.3 函数变量 93

7.4 可变参数 95

7.4.1 可变参数函数的使用 95

7.4.2 可变参数与内置函数 96

7.4.3 可变参数的传递 96

7.5 匿名函数和闭包 98

7.5.1 定义和使用匿名函数 98

7.5.2 闭包的定义 99

7.5.3 闭包的“记忆力” 99

7.6 延迟执行语句 101

7.7 小结 103

7.8 知识拓展 103

7.8.1 函数参数传递的本质 103

7.8.2 Go内置函数 106

第8章 包管理 109

8.1 工作区 109

8.1.1 工作区结构 109

8.1.2 GOPATH 110

8.1.3 GOROOT 112

8.1.4 GOBIN 112

8.2 包的声明 112

8.3 包的导入 113

8.3.1 导入声明 113

8.3.2 远程导入 114

8.3.3 别名导入 115

8.3.4 匿名导入 116

8.4 main包 117

8.5 包的初始化 118

8.6 包的命名 119

8.7 依赖包管理 120

8.8 Go语言命名规范 121

8.8.1 驼峰式命名法 121

8.8.2 导出标识符 122

8.9 小结 123

8.10 知识拓展 124

第9章 结构体 126

9.1 理解结构体 126

9.2 定义结构体 127

9.3 实例化结构体 128

9.3.1 标准实例化 128

9.3.2 new函数实例化 129

9.3.3 取地址实例化 129

9.3.4 访问成员 130

9.4 初始化结构体 131

9.4.1 键值对格式初始化 131

9.4.2 列表格式初始化 132

9.5 结构体方法 133

9.5.1 指针类型接收者 134

9.5.2 值类型接收者 135

9.6 结构体内嵌 136

9.6.1 初始化结构体内嵌 138

9.6.2 内嵌匿名结构体 139

9.7 匿名结构体 140

9.7.1 匿名结构体定义与初始化 140

9.7.2 匿名结构体的应用 142

9.8 小结 143

9.9 知识拓展 143

第10章 错误处理 147

10.1 错误处理的方式 147

10.2 自定义错误 148

10.2.1 错误类型 148

10.2.2 创建错误 149

10.2.3 自定义错误格式 149

10.3 Go语言宕机 150

10.4 宕机恢复 151

10.4.1 recover捕获宕机 151

10.4.2 recover应用 153

10.5 Go语言错误的应用 154

10.6 小结 155

10.7 知识拓展 156

第11章 文件操作 158

11.1 目录基本操作 158

11.1.1 列目录 159

11.1.2 创建目录 163

11.1.3 删除目录 166

11.2 文件基本操作 168

11.2.1 文件创建与打开 169

11.2.2 文件读取 171

11.2.3 文件写入 174

11.2.4 删除文件 177

11.3 处理JSON文件 178

11.3.1 编码JSON 179

11.3.2 解码JSON 182

11.4 小结 186

第12章 接口与类型 187

12.1 接口定义 187

12.1.1 接口的定义 187

12.1.2 鸭子类型 188

12.2 接口的创建与实现 189

12.2.1 接口创建 189

12.2.2 接口赋值 193

12.3 接口嵌入 196

12.4 空接口 199

12.4.1 将值保存到空接口 199

12.4.2 从空接口取值 200

12.4.3 空接口的常见使用 201

12.5 类型断言 203

12.5.1 ok-pattern 206

12.5.2 switch-type 207

12.6 小结 209

12.7 知识拓展 209

第13章 并发与通道 213

13.1 概述 213

13.1.1 并行与并发 214

13.1.2 Go并发优势 214

13.2 goroutine 215

13.2.1 goroutine定义 215

13.2.2 创建goroutine 216

13.2.3 main函数 218

13.2.4 使用匿名函数创建goroutine 220

13.2.5 runtime包 220

13.3 channel 225

13.3.1 channel类型 225

13.3.2 缓冲机制 227

13.3.3 close和range 229

13.3.4 单向channel 232

13.3.5 定时器 233

13.4 select 234

13.4.1 select作用 234

13.4.2 超时 236

13.4.3 死锁 237

13.5 小结 238

第14章 反射 239

14.1 反射定义 239

14.1.1 反射的定义 239

14.1.2 与其他语言的区别 239

14.2 基本用法 241

14.2.1 获取类型信息 243

14.2.2 获取类型的值 245

14.2.3 使用反射调用函数 246

14.3 对结构体的反射操作 248

14.3.1 获取结构体成员类型 248

14.3.2 获取结构体成员字段的值 250

14.3.3 反射执行结构体方法 251

14.4 反射三定律 252

14.4.1 接口到反射类型的转换 252

14.4.2 反射到接口类型的转换 253

14.4.3 修改反射类型对象 254

14.5 反射的性能 255

14.6 小结 257

第15章 Go命令行工具 258

15.1 编译相关指令 259

15.1.1 build 259

15.1.2 run 262

15.1.3 install 264

15.1.4 交叉编译 265

15.2 代码获取(get) 267

15.3 格式化代码(fmt) 268

15.4 注释文档(doc) 269

15.5 代码测试(test) 271

15.5.1 单元测试 271

15.5.2 基准测试 274

15.5.3 覆盖率测试 277

15.6 性能分析 278

15.6.1 安装Graphviz 278

15.6.2 通过文件方式 279

15.6.3 通过HTTP方式 281

15.7 小结 284

第16章 正则表达式 285

16.1 正则表达式介绍 285

16.2 正则表达式语法 286

16.2.1 普通字符 286

16.2.2 字符转义 288

16.2.3 元字符 288

16.2.4 限定符 290

16.2.5 定位符 290

16.2.6 分组构造 291

16.2.7 匹配模式 291

16.3 regexp包 292

16.3.1 MatchString函数 292

16.3.2 FindStringIndex函数 294

16.3.3 ReplaceAllString函数 295

16.4 小结 296

16.5 知识拓展 296

第17章 HTTP编程(上) 298

17.1 HTTP简介 298

17.1.1 HTTP协议 298

17.1.2 URL地址 300

17.1.3 Web工作方式 300

17.2 HTTP客户端 301

17.2.1 REST 301

17.2.2 Client和Request 302

17.2.3 发起GET请求 307

17.2.4 发起POST请求 312

17.3 爬虫框架gocolly 315

17.3.1 gocolly简介 316

17.3.2 实战爬取西刺代理IP 320

17.4 小结 324

17.5 知识拓展 324

第18章 HTTP编程(下) 327

18.1 错误处理的方式 327

18.1.1 最常见的Web服务端 328

18.1.2 请求方法 328

18.1.3 响应状态码 329

18.2 HTTP服务端 329

18.2.1 Server和Response 330

18.2.2 启动HTTP服务器 332

18.2.3 启动HTTPS服务器 333

18.2.4 静态文件 336

18.3 路由 338

18.4 中间件 341

18.5 Web框架gin 343

18.5.1 启动HTTP服务器 344

18.5.2 静态文件 344

18.5.3 路由 345

18.6 小结 347

18.7 知识拓展 347

第19章 Socket编程 350

19.1 计算机网络简介 350

19.1.1 OSI七层网络模型 350

19.1.2 TCP/IP协议 352

19.1.3 IPv4和IPv6 353

19.1.4 子网掩码 354

19.2 Socket基础 355

19.2.1 Socket简介 355

19.2.2 netcat工具简介 356

19.3 TCP编程 357

19.3.1 TCP简介 357

19.3.2 TCP客户端 359

19.3.3 TCP服务端 364

19.4 UDP编程 369

19.4.1 UDP简介 369

19.4.2 UDP客户端 369

19.4.3 UDP服务端 372

19.5 小结 376

19.6 知识拓展 377

第20章 数据库编程 381

20.1 MySQL简介 381

20.1.1 安装MySQL 382

20.1.2 MySQL常见命令 382

20.2 database/sql 383

20.3 数据库基本操作 384

20.3.1 连接数据库 384

20.3.2 创建数据表 386

20.3.3 插入数据 389

20.3.4 查询数据 392

20.3.5 更改数据 395

20.3.6 删除数据 397

20.3.7 MySQL事务 398

20.4 小结 401

20.5 知识拓展 401

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包