当前位置:主页 > 书籍配套资源 > Go语言配套资源
《Go语言项目开发上手指南》源代码

《Go语言项目开发上手指南》源代码

  • 更新:2021-12-12
  • 大小:2.95 MB
  • 类别:Go语言
  • 作者:谢伟
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Go语言项目开发上手指南》从实践出发讲解Go语言编程的基础和进阶知识。全书共分为14章,第1~4章讲述Go的基础知识,如基础语法、内置库的使用等,第5~14章介绍编写图表库、实现命令行工具、网络爬虫Web编程、GraphQL编程和面向接口编程等,将Go的核心知识和应用拆分到不同的应用场景中进行讲解。

本书适合对Go语言的应用已经有一定基础,并希望能够在Web开发方面、接口编程方面结合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 error33
  • 3.6.2 Marshaler34
  • 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 bytes45
  • 4.3 json47
  • 4.4 io/bufio48
  • 4.5 fmt51
  • 4.6 strconv55
  • 4.7 time57
  • 4.8 regexp59
  • 4.9 log62
  • 4.10 reflect/unsafe65
  • 4.11 os/path/filepath69
  • 4.12 unicode78
  • 4.13 flag80
  • 4.14 net/url84
  • 4.15 net/http87
  • 4.16 sort94
  • 4.17 error97
  • 4.18 本章小结99
  • 第5章 编写图表库100
  • 5.1 常见的开源图表库100
  • 5.1.1 ECharts100
  • 5.1.2 BizCharts103
  • 5.1.3 chart.js105
  • 5.1.4 HighCharts106
  • 5.1.5 小结108
  • 5.2 模板引擎的使用108
  • 5.3 使用模板引擎构建图表111
  • 5.4 基于chart.js构建图表库go-chart121
  • 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/TearDown136
  • 6.3 表格驱动法测试136
  • 6.4 第三方库goconvey137
  • 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 HTML153
  • 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 Docker219
  • 8.1.2 Go221
  • 8.2 命令行工具需要处理的内容223
  • 8.3 Go实现命令行的几种方式223
  • 8.3.1 内置的os库224
  • 8.3.2 内置的flag库226
  • 8.3.3 使用第三方库cobra实现gitcli233
  • 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 再谈HTTP376
  • 11.2 设计RESTful API377
  • 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/CD408
  • 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与ORM448
  • 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

资源下载

资源下载地址1:https://pan.baidu.com/s/1tlNTAvj9ZYlVbZEwL-8k4g

相关资源

网友留言