目录 第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动手练一练参考答案