目录





第1章编写第一个Go语言程序

微课视频43分钟

1.1使用Go Playground编写程序Go语言代码

1.2搭建开发环境

1.2.1Windows系统中搭建Go语言开发环境

1.2.2Linux系统中搭建Go语言开发环境

1.2.3macOS系统中搭建Go语言开发环境

1.3使用“石器时代”工具编写Go语言代码

1.3.1编写程序

1.3.2编译程序

1.3.3运行程序

1.3.4代码解释

1.4使用“铁器时代”工具编写Go语言代码

1.4.1LiteIDE

1.4.2Visual Studio Code

1.5Go语言的优点

1.6如何获得帮助

1.7动手练一练

第2章Go语言的语法基础

微课视频30分钟

2.1标识符与关键字

2.1.1标识符

2.1.2关键字

2.2语句

2.3变量

2.3.1声明变量

2.3.2声明短变量

2.4常量

2.5格式化输出

2.6注释

2.7包

2.7.1声明包

2.7.2导入包

2.7.3自定义包

2.7.4为包提供别名

2.7.5匿名导入

2.8动手练一练








第3章Go语言的数据类型

微课视频38分钟

3.1Go语言的数据类型概述

3.2整数类型

3.3浮点类型

3.4复数类型

3.5布尔类型

3.6类型转换

3.7字符串类型

3.7.1字符串表示

3.7.2字符转义

3.7.3原始字符串

3.7.4操作字符串的常用函数

3.8动手练一练

第4章运算符

微课视频20分钟

4.1算术运算符

4.2关系运算符

4.3逻辑运算符

4.4位运算符

4.5赋值运算符

4.6其他运算符

4.7运算符优先级

4.8动手练一练

第5章复合数据类型

微课视频40分钟

5.1指针

5.1.1声明指针变量

5.1.2空指针

5.1.3二级指针

5.2数组

5.2.1声明数组

5.2.2访问数组元素

5.3切片

5.3.1声明切片

5.3.2使用切片操作符

5.3.3添加切片元素

5.4映射

5.4.1声明映射

5.4.2访问映射元素

5.4.3删除元素

5.5遍历容器

5.6动手练一练

第6章条件语句

微课视频15分钟

6.1if语句

6.1.1if结构

6.1.2ifelse结构

6.1.3ifelseif结构

6.2switch语句

6.2.1一个case语句有多个值

6.2.2使用fallthrough关键字贯穿case语句

6.3动手练一练

第7章循环语句及跳转语句

微课视频16分钟

7.1for循环语句

7.1.1基本形式的for循环语句

7.1.2简化的for循环语句

7.2跳转语句

7.2.1break语句

7.2.2使用标签的break语句

7.2.3continue语句

7.2.4使用标签的continue语句

7.2.5goto语句

7.3动手练一练

第8章函数

微课视频39分钟

8.1用户自定义函数

8.2函数返回值

8.2.1返回单一值

8.2.2返回多个值

8.2.3命名函数返回值

8.3可变参数函数

8.4函数式编程

8.4.1匿名函数

8.4.2函数作为返回值使用

8.4.3函数作为参数使用

8.5闭包与捕获变量

8.6动手练一练

第9章自定义数据类型

微课视频20分钟

9.1结构体

9.1.1声明结构体

9.1.2实例化结构体

9.1.3结构体指针

9.1.4结构体嵌套

9.2为结构体添加方法

9.3定义接口

9.4实现接口

9.5动手练一练

第10章错误处理

微课视频23分钟

10.1从一个问题开始

10.2使用error类型

10.3格式化错误信息

10.4自定义错误类型

10.5错误处理机制

10.5.1延迟执行

10.5.2进入宕机状态

10.5.3从宕机状态恢复

10.6动手练一练

第11章并发编程

微课视频42分钟

11.1进程、线程和协程

11.1.1进程

11.1.2线程

11.1.3协程

11.2通道

11.2.1声明通道

11.2.2发送和接收数据

11.2.3关闭通道

11.2.4遍历通道

11.3单向通道和双向通道

11.4无缓冲区通道和有缓冲区通道

11.4.1无缓冲区通道

11.4.2有缓冲区通道

11.5使用select语句

11.5.1基本的select用法

11.5.2默认分支

11.6动手练一练

第12章正则表达式

微课视频43分钟

12.1使用regexp包

12.2编译正则表达式

12.3编写正则表达式

12.3.1元字符

12.3.2字符转义

12.3.3使用元字符示例: 匹配开始与结束字符

12.3.4字符类

12.3.5字符类取反

12.3.6区间

12.3.7预定义字符类

12.3.8使用量词

12.3.9贪婪量词和懒惰量词

12.3.10定义分组

12.4regexp包的高级功能

12.4.1字符串分割

12.4.2字符串替换

12.5动手练一练

第13章访问目录和文件

微课视频33分钟

13.1目录管理

13.1.1创建目录

13.1.2删除目录

13.1.3重命名目录

13.2文件管理

13.2.1获取文件名

13.2.2获取目录名

13.2.3获取文件扩展名

13.2.4连接路径

13.2.5分割路径

13.2.6查找文件

13.3读取文件

13.3.1读取整个文件

13.3.2逐行读取文件

13.4写入文件

13.4.1使用WriteFile()函数写文件

13.4.2使用WriteString()函数写文件

13.5动手练一练

第14章网络编程

微课视频90分钟

14.1网络基础

14.1.1网络结构

14.1.2TCP/IP

14.1.3IP地址

14.1.4端口

14.2TCP Socket低层次网络编程

14.2.1TCP Socket通信概述

14.2.2TCP Socket通信过程

14.2.3TCP服务器端

14.2.4TCP客户端

14.2.5案例: 文件上传工具

14.3UDP Socket低层次网络编程

14.3.1UDP服务器端

14.3.2UDP客户端

14.4高层次网络编程

14.4.1URL概念

14.4.2HTTP/HTTPS

14.4.3搭建自己的Web服务器

14.4.4发送GET请求

14.4.5发送POST请求

14.4.6案例: Downloader

14.5JSON文档结构

14.5.1JSON编码

14.5.2JSON解码

14.6动手练一练

第15章数据库编程

微课视频37分钟

15.1MySQL数据库管理系统

15.1.1安装MySQL 8数据库

15.1.2客户端登录服务器

15.1.3常见的管理命令

15.2编写访问数据库程序

15.2.1MySQL驱动

15.2.2Go语言数据库编程一般过程

15.2.3建立和关闭数据连接

15.2.4预处理SQL语句

15.2.5执行SQL语句

15.3案例: 员工表增、删、改、查操作

15.3.1创建员工表

15.3.2插入员工数据

15.3.3更新员工数据

15.3.4删除员工数据

15.3.5按照主键查询员工数据

15.3.6查询所有员工数据

15.4动手练一练

附录A动手练一练参考答案