注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计Go语言项目开发上手指南

Go语言项目开发上手指南

Go语言项目开发上手指南

定 价:¥119.00

作 者: 谢伟
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111684565 出版时间: 2021-07-01 包装: 平装-胶订
开本: 16开 页数: 460 字数:  

内容简介

  本书从实践出发讲解Go语言编程的基础和进阶知识。全书共分为14章,第1~4章讲述Go的基础知识,如基础语法、内置库的使用等,第5~14章介绍编写图表库、实现命令行工具、网络爬虫Web编程、GraphQL编程和面向接口编程等,将Go的核心知识和应用拆分到不同的应用场景中进行讲解。本书适合对Go语言的应用已经有一定基础,并希望能够在Web开发方面、接口编程方面结合Go语言来实现进阶学习的技术人员学习和参考。

作者简介

暂缺《Go语言项目开发上手指南》作者简介

图书目录

前言
第1章 概述 1
1.1 Go语言的特性 1
1.2 开发环境的搭建 2
1.2.1 下载与目标操作系统匹配的安装包 2
1.2.2 设置环境变量 2
1.2.3 集成开发环境的选择 4
1.2.4 编写个Go程序 4
1.3 Go命令行和项目结构 5
1.3.1 需要GOPATH支持的方式 5
1.3.2 不需要GOPATH支持的方式 5
1.4 本章小结 5
第2章 基础知识 6
2.1 引子 6
2.2 了解Go语言的基本语法 7
2.2.1 变量 7
2.2.2 声明与赋值 7
2.2.3 多个变量的声明与赋值 8
2.2.4 变量的作用域 8
2.2.5 常量 9
2.2.6 基本数据类型 9
2.2.7 类型转换 12
2.2.8 自定义类型 12
2.2.9 函数 13
2.2.10 流程控制 15
2.2.11 结构体 19
2.2.12 接口 21
2.3 本章小结 22
第3章 数据操作 23
3.1 变量 23
3.1.1 显式声明与隐式声明 23
3.1.2 组织多个变量 24
3.1.3 变量的命名应遵循的原则 25
3.2 运算 26
3.2.1 算术运算 26
3.2.2 逻辑运算 27
3.3 数组和切片 28
3.4 字典 29
3.5 结构体 30
3.5.1 匿名字段 31
3.5.2 小结 32
3.6 接口 33
3.6.1 error 33
3.6.2 Marshaler 34
3.7 库(包)管理 36
3.7.1 库(包)的导入 36
3.7.2 下载库(包) 36
3.8 项目组织的结构 37
3.8.1 领域驱动的方式 37
3.8.2 业务驱动的方式 38
3.9 本章小结 38
第4章 内置库的常用操作 39
4.1 字符串 39
4.2 bytes 45
4.3 json 47
4.4 io/bufio 48
4.5 fmt 51
4.6 strconv 55
4.7 time 57
4.8 regexp 59
4.9 log 62
4.10 reflect/unsafe 65
4.11 os/path/filepath 69
4.12 unicode 78
4.13 flag 80
4.14 net/url 84
4.15 net/http 87
4.16 sort 94
4.17 error 97
4.18 本章小结 99
第5章 编写图表库 100
5.1 常见的开源图表库 100
5.1.1 ECharts 100
5.1.2 BizCharts 103
5.1.3 chart.js 105
5.1.4 HighCharts 106
5.1.5 小结 108
5.2 模板引擎的使用 108
5.3 使用模板引擎构建图表 111
5.4 基于chart.js构建图表库go-chart 121
5.4.1 项目组织结构 122
5.4.2 模板文件 123
5.4.3 基础数据 124
5.4.4 图表类型 128
5.5 本章小结 132
第6章 编写测试 133
6.1 单元测试 133
6.2 基本的使用 134
6.2.1 常见用法 134
6.2.2 样本测试 135
6.2.3 SetUp/TearDown 136
6.3 表格驱动法测试 136
6.4 第三方库goconvey 137
6.5 解决依赖性问题 140
6.5.1 函数依赖关系 140
6.5.2 数据库的依赖 143
6.6 性能测试 148
6.7 本章小结 150
第7章 网络爬虫 151
7.1 网络爬虫是什么 151
7.2 网页的基本组成 152
7.2.1 HTML 153
7.2.2 Chrome开发者工具的使用 155
7.2.3 小结 162
7.3 原生库解析HTML网页 163
7.4 正则表达式解析网页 165
7.5 网络爬虫的流程 167
7.6 网页源代码的获取 168
7.6.1 原生net/http库 168
7.6.2 Selenium浏览器自动化测试 169
7.6.3 Chromedp渲染 172
7.6.4 小结 174
7.7 CSS选择器解析网页 174
7.7.1 语法 174
7.7.2 下载安装 177
7.7.3 示例 177
7.7.4 小结 185
7.8 XPath路径表达式解析网页 185
7.8.1 语法 185
7.8.2 下载安装 187
7.8.3 示例 188
7.8.4 小结 192
7.9 JSON数据解析 192
7.9.1 JSON数据 192
7.9.2 下载安装 194
7.9.3 v2ex社区实例 195
7.9.4 猫眼票房实例 197
7.10 App端数据的获取 201
7.10.1 Charles的使用 201
7.10.2 Mitmproxy的使用 203
7.10.3 小结 205
7.11 数据存储 206
7.11.1 百度搜索指数实例 206
7.11.2 持久化存储 211
7.11.3 数据库的形式 214
7.12 本章小结 218
第8章 实现命令行工具 219
8.1 优秀的命令行工具的特点 219
8.1.1 Docker 219
8.1.2 Go 221
8.2 命令行工具需要处理的内容 223
8.3 Go实现命令行的几种方式 223
8.3.1 内置的os库 224
8.3.2 内置的flag库 226
8.3.3 使用第三方库cobra实现gitcli 233
8.4 本章小结 250
第9章 动手实现一个库 251
9.1 解决什么问题 251
9.2 解决方案 253
9.2.1 手动处理 253
9.2.2 参考别人的思路 254
9.2.3 自己的思路 258
9.2.4 持续集成 264
9.2.5 拓展 273
9.3 本章小结 273
第10章 Web服务 275
10.1 使用net/http构建简易的Web服务 275
10.1.1 启动Web服务 275
10.1.2 目标 281
10.1.3 模板的使用 281
10.1.4 内容开发 286
10.2 使用net/http构建爱鲜蜂Web服务 317
10.2.1 需求流程梳理 318
10.2.2 模型设计 319
10.2.3 代码开发 325
10.2.4 项目组织结构 339
10.3 本章小结 375
第11章 Web开发手册 376
11.1 再谈HTTP 376
11.2 设计RESTful API 377
11.2.1 资源的访问操作 378
11.2.2 路由的设计 379
11.2.3 参数 379
11.2.4 参数检验 382
11.2.5 响应信息 383
11.3 数据模型 385
11.3.1 GORM方案 387
11.3.2 XORM方案 387
11.3.3 小结 390
11.4 中间件 391
11.4.1 Gin中间件 394
11.4.2 Echo中间件 395
11.4.3 Iris中间件 396
11.4.4 小结 396
11.5 响应信息 396
11.5.1 正确时的响应信息 397
11.5.2 错误时的响应信息 399
11.5.3 小结 399
11.6 项目组织结构 400
11.7 代码管理和托管 402
11.8 Make构建工具 403
11.8.1 语法规范 403
11.8.2 Go项目的命令 405
11.9 容器化部署 406
11.9.1 Docker容器的使用 407
11.9.2 小结 408
11.10 自动CI/CD 408
11.11 本章小结 413
第12章 面向接口编程 414
12.1 开源 414
12.2 搜索引擎的基本使用 415
12.2.1 下载并安装 416
12.2.2 docker-compose配置文件 416
12.2.3 查看安装是否成功 417
12.3 客户端go-elasticsearch的使用 418
12.3.1 下载并安装 418
12.3.2 基本的使用 419
12.4 项目组织的形式 420
12.5 面向接口编程 421
12.6 自己实现,学为己用 432
12.7 本章小结 441
第13章 Go学习路径 442
13.1 内置库 442
13.1.1 访问官方文档 442
13.1.2 文档的组织 442
13.1.3 阅读内置库 444
13.2 版本管理 445
13.2.1 初始化 445
13.2.2 下载 446
13.2.3 移除不需要的模块 446
13.3 测试驱动开发 446
13.4 命令行 447
13.5 Web开发 447
13.6 SQL与ORM 448
13.7 系统工程 448
13.7.1 需求讨论 448
13.7.2 迭代开发/测试 448
13.7.3 代码版本管理 449
13.7.4 持续集成(CI) 449
13.7.5 持续部署(CD) 450
13.7.6 多组件部署 450
13.7.7 监控运维 450

本目录推荐