封面
版权信息
作者简介
内容简介
前言
本书结构
本书特色
源代码下载
读者对象
第1章 认识Go语言
1.1 Go语言简介
1.2 Go语言的优势与特性
1.3 在Windows下安装Go
1.4 在Linux下安装Go
1.5 在macOS下安装Go
1.6 安装GoLand
1.7 搭建GoLand环境
1.8 第一个Go程序“Hello World”
1.9 动手练习:编程实现人机交互
1.10 小结
第2章 基础语法
2.1 关键字与标识符
2.1.1 关键字
2.1.2 标识符命名规范
2.1.3 空白标识符
2.1.4 预声明标识符
2.1.5 导出标识符
2.1.6 唯一标识符
2.2 变量与常量
2.2.1 变量定义与赋值
2.2.2 常量与iota
2.3 运算符的使用
2.3.1 算术运算符
2.3.2 关系运算符
2.3.3 赋值运算符
2.3.4 逻辑运算符
2.3.5 位运算符
2.3.6 其他运算符
2.3.7 运算符优先级
2.4 代码注释
2.5 动手练习:编程实现个人健康评测
2.6 小结
第3章 数据类型
3.1 整型的取值范围
3.2 浮点类型与精度丢失
3.3 复数的计算
3.4 布尔型的应用
3.5 ASCII与Unicode编码
3.6 字符类型
3.7 字符串操作
3.7.1 字符串与转义符
3.7.2 字符串格式化
3.7.3 字符串拼接
3.7.4 获取字符串长度
3.7.5 遍历字符串
3.7.6 字符位置与截取
3.7.7 字符串分割
3.7.8 字符串替换
3.8 转换数据类型
3.8.1 整型与浮点型
3.8.2 整型与字符串
3.8.3 浮点型与字符串
3.9 动手练习:编程实现在线客服热线
3.10 小结
第4章 流程控制
4.1 if的条件判断
4.2 if的多层嵌套
4.3 switch的多条件分支
4.4 for的循环遍历
4.5 for-range获取键值
4.6 break越级终止循环
4.7 continue跳过本次循环
4.8 goto跳到指定代码
4.9 动手练习:编程实现简易计算器
4.10 小结
第5章 指针
5.1 指针的概念
5.2 指针定义与空指针
5.3 指针赋值与取值
5.4 切片指针
5.5 指针的指针
5.6 动手练习:编程实现彩票36选7
5.7 小结
第6章 内置容器
6.1 数组
6.1.1 数组定义与操作
6.1.2 数组初始化定义
6.1.3 多维数组
6.2 切片
6.2.1 切片定义与操作
6.2.2 新增切片元素
6.2.3 截取切片元素
6.2.4 复制切片
6.2.5 切片长度与容量
6.3 集合
6.3.1 集合定义与操作
6.3.2 删除集合元素
6.4 动手练习:编程实现集合与JSON互换
6.5 列表
6.5.1 列表定义
6.5.2 列表元素操作
6.5.3 遍历列表元素
6.6 动手练习:编程实现产品抽样检测
6.7 小结
第7章 函数
7.1 函数定义与调用
7.2 不固定参数数量
7.3 函数以变量表示
7.4 没有名字的函数
7.5 引用外部变量的函数
7.6 函数自身调用
7.7 动手练习:编程实现创建文件后缀名
7.8 小结
第8章 结构体
8.1 Go的“面向对象”
8.2 结构体定义与实例化
8.3 指针方式的实例化
8.4 结构体标签
8.5 匿名结构体与匿名成员
8.6 结构体嵌套
8.7 自定义构造函数
8.8 结构体方法:指针与值接收者
8.9 动手练习:编程实现结构体与JSON互换
8.10 动手练习:编程实现多键索引查询数据
8.11 小结
第9章 接口
9.1 接口定义与使用
9.2 鸭子类型
9.3 多态与工厂函数
9.4 接口的自由组合
9.5 任意数据类型的空接口
9.6 接口的类型断言
9.7 动手练手:编程实现营救村民游戏
9.8 小结
第10章 反射
10.1 什么是反射
10.2 第一定律:接口变量转反射变量
10.3 第二定律:反射变量转接口变量
10.4 第三定律:修改反射变量的值
10.5 反射的类型与种类
10.6 切片与反射
10.7 集合与反射
10.8 结构体与反射
10.9 指针与反射
10.10 函数与反射
10.11 动手练习:编程实现对象序列化处理
10.12 小结
第11章 并发编程
11.1 异步的概念
11.2 Goroutine
11.3 函数创建Goroutine
11.4 匿名函数创建Goroutine
11.5 通道
11.6 无缓冲通道
11.7 带缓冲通道
11.8 关闭通道读取数据
11.9 Select处理多通道
11.10 sync同步等待
11.11 sync加锁机制
11.12 sync.Map的应用
11.13 动手练习:编程模拟餐馆经营场景
11.14 小结
第12章 语法特性
12.1 panic触发宕机
12.2 defer延时执行
12.3 recover宕机时恢复执行
12.4 值类型、引用类型与深浅拷贝
12.5 类型别名与自定义
12.6 new和make的区别
12.7 泛型的概念与应用
12.8 动手练习:编程实现出租车费用计算
12.9 小结
第13章 包的应用与管理
13.1 常用内置包
13.2 包命名与导入
13.3 包的重命名
13.4 无包名调用
13.5 初始化函数init()与空导入
13.6 包的自定义与使用
13.7 包管理工具go mod
13.8 第三方包下载与使用
13.9 动手练习:编程实现排序算法
13.10 小结
第14章 目录与文件处理
14.1 使用os实现系统操作
14.2 使用path获取路径信息
14.3 使用os读写文件
14.4 使用io/ioutil读写文件
14.5 使用bufio读写文件
14.6 使用encoding/csv读写CSV文件
14.7 使用encoding/json读写JSON文件
14.8 第三方包读写Excel文件
14.9 动手练习:编程实现学生管理系统
14.10 小结
第15章 时间处理
15.1 时间戳
15.2 结构体Time
15.3 字符串格式化
15.4 时间类型的相互转换
15.5 时间计算操作
15.6 延时、超时与定时
15.7 动手练习:编程实现个人备忘录
15.8 小结
第16章 数据库编程
16.1 搭建SQLite运行环境
16.2 安装与使用MySQL
16.3 安装与使用MongoDB
16.4 安装与使用Redis
16.5 go-sqlite3读写SQLite
16.6 go-sql-driver/mysql读写MySQL
16.7 mongo-driver读写MongoDB
16.8 go-redis读写Redis
16.9 ORM框架:Gorm
16.10 动手练习:编程实现员工管理系统
16.11 小结
第17章 Go项目——网页自动化测试程序开发
17.1 了解自动化工具Selenium
17.2 安装Selenium
17.3 使用浏览器查找元素
17.4 浏览器配置与启动
17.5 网页元素定位
17.6 网页元素操作
17.7 浏览器常用操作
17.8 网页加载等待
17.9 iframe与标签页切换
17.10 Cookie读写
17.11 动手练习:编程实现爬取BOSS直聘招聘数据
17.12 小结
第18章 Go项目——网络爬虫程序开发
18.1 HTTP与HTTPS
18.2 请求头
18.3 使用浏览器分析网站
18.4 使用net/http发送请求
18.5 转码与HTML解析
18.6 选择数据存储方式
18.7 动手练习:编程实现爬取电影TOP100榜单
18.8 小结
第19章 Go项目——网络编程应用
19.1 TCP和UDP的区别
19.2 创建TCP应用
19.3 创建UDP应用
19.4 创建HTTP服务应用
19.5 httprouter扩展路由
19.6 多种响应处理方式
19.7 HTML模板引擎
19.8 网站项目:信息反馈平台的开发
19.8.1 网站功能需求
19.8.2 项目架构设计
19.8.3 搭建开发环境
19.8.4 定义模型与路由
19.8.5 编写模板文件
19.8.6 网站运行与测试
19.9 小结
第20章 编译与运行
20.1 run与build的区别
20.2 单文件编译
20.3 同包多文件编译
20.4 不同包多文件编译
20.5 编译参数说明
20.6 小结
更新时间:2023-08-31 19:58:35