深入学习Go语言PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(中国)李晓钧
- 出 版 社:北京:机械工业出版社
- 出版年份:2019
- ISBN:9787111630722
- 页数:260 页
第1章 Go语言简介 1
1.1 为什么要学Go语言 1
1.2 Go语言安装 1
1.3 Go语言开发工具 4
第2章 Go语言编程基础 6
2.1 数据类型 6
2.1.1 基础数据类型 6
2.1.2 复合数据类型 8
2.2 变量 9
2.2.1 变量以及声明 9
2.2.2 零值(nil) 13
2.3 常量 14
2.3.1 常量定义 14
2.3.2 iota 15
2.3.3 字面量(literal) 16
2.4 运算符 18
2.4.1 内置运算符 18
2.4.2 运算符优先级 21
2.4.3 几个特殊运算符 21
2.5 字符串 22
2.5.1 字符串介绍 22
2.5.2 字符串拼接 24
2.5.3 字符串处理 25
2.6 流程控制 26
2.6.1 switch语句 26
2.6.2 select语句 29
2.6.3 for语句 30
2.6.4 for-range结构 31
2.6.5 if语句 33
2.6.6 break语句 33
2.6.7 continue语句 34
2.6.8 标签 35
2.6.9 goto语句 35
第3章 作用域 37
3.1 关于作用域 37
3.1.1 局部变量与全局变量 37
3.1.2 显式与隐式代码块 37
3.2 约定和惯例 40
3.2.1 可见性规则 40
3.2.2 命名规范以及语法惯例 40
3.2.3 注释 41
第4章 代码结构化与项目管理 43
4.1 包(package) 43
4.1.1 包的概念 43
4.1.2 包的初始化 43
4.1.3 包的导入 44
4.1.4 标准库 45
4.1.5 从GitHub安装包 46
4.1.6 导入外部安装包 46
4.2 Go项目开发与编译 46
4.2.1 项目结构 46
4.2.2 使用Godoc 47
4.2.3 Go程序的编译 48
4.2.4 Go modules包依赖管理 49
第5章 复合数据类型 54
5.1 数组(array) 54
5.1.1 数组定义 54
5.1.2 数组声明与使用 54
5.2 切片(slice) 56
5.2.1 切片介绍 56
5.2.2 切片重组(reslice) 58
5.2.3 陈旧的切片(Stale Slices) 59
5.3 字典(map) 60
5.3.1 字典介绍 60
5.3.2 range语句中的值 61
第6章 type关键字 63
6.1 type自定义类型 63
6.2 type定义类型别名 64
第7章 错误处理与defer 66
7.1 错误处理 66
7.1.1 错误类型(error) 66
7.1.2 panic 66
7.1.3 recover 68
7.2 关于defer 68
7.2.1 defer的三个规则 68
7.2.2 使用defer计算函数执行时间 73
第8章 函数 74
8.1 函数(function) 74
8.1.1 函数介绍 74
8.1.2 函数调用 76
8.1.3 内置函数 76
8.1.4 递归与回调 80
8.1.5 匿名函数 81
8.1.6 变参函数 84
第9章 结构体和接口 86
9.1 结构体(struct) 86
9.1.1 结构体介绍 86
9.1.2 结构体特性 88
9.1.3 匿名字段 89
9.1.4 嵌入与聚合 90
9.1.5 命名冲突 93
9.2 接口(interface) 94
9.2.1 接口是什么 94
9.2.2 接口嵌入 96
9.2.3 类型断言 97
9.2.4 接口与动态类型 99
9.2.5 接口的提取 100
9.2.6 接口的继承 100
第10章 方法 101
10.1 方法的定义 101
10.1.1 接收器(receiver) 101
10.1.2 方法表达式与方法值 104
10.1.3 自定义类型方法与匿名嵌入 105
10.1.4 函数和方法的区别 108
10.2 指针方法与值方法 108
10.2.1 指针方法与值方法的区别 108
10.2.2 接口变量上的指针方法与值方法 111
10.2.3 指针接收器和值接收器的选择 114
10.3 匿名类型的方法提升 114
10.3.1 匿名类型的方法调用 114
10.3.2 方法提升规则 115
第11章 面向对象与内存 118
11.1 面向对象 118
11.1.1 Go语言中的面向对象 118
11.1.2 多重继承 119
11.2 指针和内存 119
11.2.1 指针 119
11.2.2 new()和make()的区别 121
11.2.3 垃圾回收 121
第12章 并发处理 124
12.1 协程 124
12.1.1 协程与并发 124
12.1.2 协程使用 127
12.2 通道(channel) 127
12.3 同步与锁 131
12.3.1 互斥锁 132
12.3.2 读写锁 135
12.3.3 sync.WaitGroup 136
12.3.4 sync.Once 137
12.3.5 sync.Map 138
第13章 测试与调优 140
13.1 测试 140
13.1.1 单元测试 140
13.1.2 基准测试 141
13.2 调优 142
13.2.1 分析Go程序 142
13.2.2 用pprof调试 143
第14章 系统标准库 148
14.1 reflect包 148
14.1.1 反射(reflect) 148
14.1.2 反射的应用 150
14.2 unsafe包 155
14.2.1 unsafe包介绍 155
14.2.2 指针运算 156
14.3 sort包 160
14.3.1 sort包介绍 160
14.3.2 自定义sort.Interface排序 163
14.3.3 sort.Slice排序 164
14.4 os包 164
14.4.1 启动外部命令和程序 164
14.4.2 os/signal信号处理 166
14.5 fmt包 167
14.5.1 格式化I/O 167
14.5.2 格式化输出 169
14.6 flag包 174
14.6.1 命令行 174
14.6.2 参数解析 174
14.7 文件操作与I/O 177
14.7.1 文件操作 177
14.7.2 I/O读写 178
14.7.3 ioutil包读写 181
14.7.4 bufio包读写 182
14.7.5 log包日志操作 184
第15章 网络服务 186
15.1 Socket 186
15.1.1 Socket基础知识 186
15.1.2 TCP与UDP 186
15.2 模板(Template) 189
15.2.1 text/template包 189
15.2.2 html/template包 191
15.2.3 模板语法 194
15.3 net/http包 196
15.3.1 http Request 197
15.3.2 http Response 199
15.3.3 http Client 200
15.3.4 http Server 205
15.3.5 自定义类型Handler 210
15.3.6 将函数直接作为Handler 212
15.3.7 中间件 212
15.3.8 搭建静态站点 213
15.4 context包 214
15.4.1 context包介绍 214
15.4.2 上下文应用 216
第16章 数据格式与存储 221
16.1 数据格式 221
16.1.1 序列化与反序列化 221
16.1.2 JSON数据格式 221
16.1.3 将JSON数据反序列化到结构体 222
16.1.4 反序列化任意JSON数据 224
16.1.5 JSON数据编码和解码 225
16.1.6 JSON数据延迟解析 227
16.1.7 Protocol Buffer数据格式 228
16.2 MySQL数据库 231
16.2.1 database/sql包 231
16.2.2 MySQL数据库操作 231
16.3 LevelDB与BoltDB数据库 236
16.3.1 LevelDB数据库操作 237
16.3.2 BoltDB数据库操作 240
第17章 网络爬虫 244
17.1 Colly网络爬虫框架 244
17.2 goquery HTML解析 246
第18章 Web框架——Gin 250
18.1 关于Gin 250
18.2 Gin实际应用 251
18.2.1 静态资源站点 251
18.2.2 构建动态站点 252
18.2.3 中间件的使用 256
18.2.4 RESTful API接口 256
参考文献 260
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《全国普通高等中医药院校药学类专业“十三五”规划教材 第二轮规划教材 有机化学学习指导 第2版》赵骏 2018
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《音乐语言的根基》张艺编著 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《激活语言思维》李蒨,王宏年,汤青编著 2017
- 《基于核心素养的有效学习与学业评价策略 初中政治》李亚莉主编 2018
- 《国学经典诵读》(中国)严琼燕 2019
- 《思维导图 超好用英语单词书》(中国)王若琳 2019
- 《东北民歌文化研究及艺术探析》(中国)杨清波 2019
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《两京烟云》陈诗泳,赖秀俞责任编辑;(中国)千慧 2019
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《MBA大师.2020年MBAMPAMPAcc管理类联考专用辅导教材 数学考点精讲》(中国)董璞 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《2013数学奥林匹克试题集锦 走向IMO》2013年IMO中国国家集训队教练组编 2013
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019