Go语言项目开发上手指南

Go语言项目开发上手指南

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书从实践出发讲解Go语言编程的基础和进阶知识。

内容简介

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

本书适合对Go语言的应用已经有一定基础,并希望能够在Web开发方面、接口编程方面结合Go语言来实现进阶学习的技术人员学习和参考。

作者简介

章节目录

版权信息

前言

第1章 概述

1.1 Go语言的特性

1.2 开发环境的搭建

1.2.1 下载与目标操作系统匹配的安装包

1.2.2 设置环境变量

1.2.3 集成开发环境的选择

1.2.4 编写第一个Go程序

1.3 Go命令行和项目结构

1.3.1 需要GOPATH支持的方式

1.3.2 不需要GOPATH支持的方式

1.4 本章小结

第2章 基础知识

2.1 引子

2.2 了解Go语言的基本语法

2.2.1 变量

2.2.2 声明与赋值

2.2.3 多个变量的声明与赋值

2.2.4 变量的作用域

2.2.5 常量

2.2.6 基本数据类型

2.2.7 类型转换

2.2.8 自定义类型

2.2.9 函数

2.2.10 流程控制

2.2.11 结构体

2.2.12 接口

2.3 本章小结

第3章 数据操作

3.1 变量

3.1.1 显式声明与隐式声明

3.1.2 组织多个变量

3.1.3 变量的命名应遵循的原则

3.2 运算

3.2.1 算术运算

3.2.2 逻辑运算

3.3 数组和切片

3.4 字典

3.5 结构体

3.5.1 匿名字段

3.5.2 小结

3.6 接口

3.6.1 error

3.6.2 Marshaler

3.7 库(包)管理

3.7.1 库(包)的导入

3.7.2 下载库(包)

3.8 项目组织的结构

3.8.1 领域驱动的方式

3.8.2 业务驱动的方式

3.9 本章小结

第4章 内置库的常用操作

4.1 字符串

4.2 bytes

4.3 json

4.4 io/bufio

4.5 fmt

4.6 strconv

4.7 time

4.8 regexp

4.9 log

4.10 reflect/unsafe

4.11 os/path/filepath

4.12 unicode

4.13 flag

4.14 net/url

小结

4.15 net/http

4.16 sort

4.17 error

4.18 本章小结

第5章 编写图表库

5.1 常见的开源图表库

5.1.1 ECharts

5.1.2 BizCharts

5.1.3 chart.js

5.1.4 HighCharts

5.1.5 小结

5.2 模板引擎的使用

5.3 使用模板引擎构建图表

5.4 基于chart.js构建图表库go-chart

5.4.1 项目组织结构

5.4.2 模板文件

5.4.3 基础数据

5.4.4 图表类型

5.5 本章小结

第6章 编写测试

6.1 单元测试

6.2 基本的使用

6.2.1 常见用法

6.2.2 样本测试

6.2.3 SetUp/TearDown

6.3 表格驱动法测试

6.4 第三方库goconvey

6.5 解决依赖性问题

6.5.1 函数依赖关系

6.5.2 数据库的依赖

6.6 性能测试

6.7 本章小结

第7章 网络爬虫

7.1 网络爬虫是什么

7.2 网页的基本组成

7.2.1 HTML

7.2.2 Chrome开发者工具的使用

7.2.3 小结

7.3 原生库解析HTML网页

7.4 正则表达式解析网页

7.5 网络爬虫的流程

7.6 网页源代码的获取

7.6.1 原生net/http库

7.6.2 Selenium浏览器自动化测试

7.6.3 Chromedp渲染

7.6.4 小结

7.7 CSS选择器解析网页

7.7.1 语法

7.7.2 下载安装

7.7.3 示例

7.7.4 小结

7.8 XPath路径表达式解析网页

7.8.1 语法

7.8.2 下载安装

7.8.3 示例

7.8.4 小结

7.9 JSON数据解析

7.9.1 JSON数据

7.9.2 下载安装

7.9.3 v2ex社区实例

7.9.4 猫眼票房实例

7.10 App端数据的获取

7.10.1 Charles的使用

7.10.2 Mitmproxy的使用

7.10.3 小结

7.11 数据存储

7.11.1 百度搜索指数实例

7.11.2 持久化存储

7.11.3 数据库的形式

7.12 本章小结

第8章 实现命令行工具

8.1 优秀的命令行工具的特点

8.1.1 Docker

8.1.2 Go

8.2 命令行工具需要处理的内容

8.3 Go实现命令行的几种方式

8.3.1 内置的os库

8.3.2 内置的flag库

8.3.3 使用第三方库cobra实现gitcli

8.4 本章小结

第9章 动手实现一个库

9.1 解决什么问题

9.2 解决方案

9.2.1 手动处理

9.2.2 参考别人的思路

9.2.3 自己的思路

9.2.4 持续集成

9.2.5 拓展

9.3 本章小结

第10章 Web服务

10.1 使用net/http构建简易的Web服务

10.1.1 启动Web服务

10.1.2 目标

10.1.3 模板的使用

10.1.4 内容开发

10.2 使用net/http构建爱鲜蜂Web服务

10.2.1 需求流程梳理

10.2.2 模型设计

10.2.3 代码开发

10.2.4 项目组织结构

10.3 本章小结

第11章 Web开发手册

11.1 再谈HTTP

11.2 设计RESTful API

11.2.1 资源的访问操作

11.2.2 路由的设计

11.2.3 参数

11.2.4 参数检验

11.2.5 响应信息

11.3 数据模型

11.3.1 GORM方案

11.3.2 XORM方案

11.3.3 小结

11.4 中间件

11.4.1 Gin中间件

11.4.2 Echo中间件

11.4.3 Iris中间件

11.4.4 小结

11.5 响应信息

11.5.1 正确时的响应信息

11.5.2 错误时的响应信息

11.5.3 小结

11.6 项目组织结构

11.7 代码管理和托管

11.8 Make构建工具

11.8.1 语法规范

11.8.2 Go项目的命令

11.9 容器化部署

11.9.1 Docker容器的使用

11.9.2 小结

11.10 自动CI/CD

11.11 本章小结

第12章 面向接口编程

12.1 开源

12.2 搜索引擎的基本使用

12.2.1 下载并安装

12.2.2 docker-compose配置文件

12.2.3 查看安装是否成功

12.3 客户端go-elasticsearch的使用

12.3.1 下载并安装

12.3.2 基本的使用

12.4 项目组织的形式

12.5 面向接口编程

12.6 自己实现,学为己用

12.7 本章小结

第13章 Go学习路径

13.1 内置库

13.1.1 访问官方文档

13.1.2 文档的组织

13.1.3 阅读内置库

13.2 版本管理

13.2.1 初始化

13.2.2 下载

13.2.3 移除不需要的模块

13.3 测试驱动开发

13.4 命令行

13.5 Web开发

13.6 SQL与ORM

13.7 系统工程

13.7.1 需求讨论

13.7.2 迭代开发/测试

13.7.3 代码版本管理

13.7.4 持续集成(CI)

13.7.5 持续部署(CD)

13.7.6 多组件部署

13.7.7 监控运维

Go语言项目开发上手指南是2021年由机械工业出版社华章分社出版,作者谢伟。

得书感谢您对《Go语言项目开发上手指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
用Go语言自制解释器 电子书
从零开始,用GO语言创造出另一门语言,体验从无到有实现类C语言的乐趣。
Abaqus GUI程序开发指南:Python语言 电子书
本书共6章,主要讲解采用Python语言对Abaqus进行图形界面程序的开发,包括GUI插件程序(Plug-ins)的开发以及用户自定义GUI应用程序(CustomizedApplications)的开发。各章的主要内容是:第1章以简单的入门插件程序为例,介绍了Abaqus图形界面程序开发的意义。第2章简要介绍了Python语言的基本语法。第3章介绍了一些Abaqus中常用的Python内核指令。
用Go语言自制编译器 电子书
放下大部头,换一种方式入门编译原理,体验一步步实现类C语言的乐趣。
C语言项目式系统开发教程(微课版) 电子书
本书针对计算机相关专业对C语言编程的技能要求,以“大案例,一案到底”的思路,借助“图书超市收银系统”项目的设计与实现来贯穿整个教学大纲的全部知识点。全书内容在涵盖基本程序语法的基础上,以实际任务实现为落脚点,通过“任务描述”,让学生首先了解要解决的实际问题;然后学习相关知识,奠定技术基础,通过任务实现,体现学以致用;**后通过项目实战提高学生的编程技术和能力。全书“理实一体”,真正实现“做中学,学
华为LiteOS:快速上手物联网应用开发 电子书
联网大讲堂创始人朱有鹏力作鸿蒙华为物联网操作系统,HarmonyOS时代,IoT实战入门嵌入式,从物联网基础概念入手,掌握华为LiteOS系统与应用开发。