|
|
51CTO旗下网站
|
|
移动端

目录

《Go语言编程入门与实战技巧》本书的目标读者是对计算机编程尤其是对Go语言编程感兴趣的新手。由于作者水平和时间有限,书中难免会有一些错误和纰漏,欢迎读者指正。衷心希望通过本书的学习,能够让你对Go语言有一个比较全面的理解。本节为目录。

作者:黄靖钧来源:电子工业出版社|2018-09-23 09:15

目录

第1章  认识Go语言  1
1.1  Go语言简介  1
1.1.1  Go语言简史  1
1.1.2  Go语言特性  2
1.1.3  谁适合使用Go语言  2
1.2  Go语言的开发环境部署  3
1.2.1  Go语言环境变量  3
1.2.2  在Linux上安装Go语言环境  3
1.2.3  在Mac OS上安装Go语言环境  5
1.2.4  在Windows上安装Go语言环境  5
1.3  Go语言的基本命令及使用  5
1.3.1  GOROOT结构  6
1.3.2  GOPATH结构  7
1.3.3  Go语言命令行参数  8
1.3.4  第一个Go语言程序  12
1.4  Go语言的开发工具  14
1.4.1  Code/Atom  14
1.4.2  VIM-Go  17
1.4.3  Gogland  18
1.4.4  LiteIDE  18
1.4.5  Cloud IDE  19
1.5  本章小结  23
第2章  程序结构  24
2.1  Go语言程序元素  24
2.1.1  标识符  24
2.1.2  关键字  25
2.1.3  字面量  25
2.1.4  分隔符  25
2.1.5  运算符  26
2.1.6  注释  27
2.2  Go语言基本概念  28
2.2.1  常量  28
2.2.2  变量  32
2.3  本章小结  37
第3章  基础数据类型  38
3.1  整型  39
3.1.1  整型的表示  39
3.1.2  整型的运算  39
3.2  浮点型  41
3.2.1  浮点型的表示  41
3.2.2  浮点型的运算  42
3.2.3  复数  42
3.3  字符与字符串  44
3.3.1  字符串的表示  44
3.3.2  操作字符串  46
3.3.3  字符串格式化  60
3.4  布尔型  61
3.4.1  布尔型的表示  61
3.4.2  布尔型的运算  62
3.5  基本数据类型的扩展  63
3.5.1  强制类型转换  63
3.5.2  自定义类型  64
3.5.3  类型别名  64
3.5.4  指针  65
3.6  本章小结  69
第4章  流程控制  70
4.1  条件语句  70
4.1.1  if判断  71
4.1.2  if-else判断  71
4.1.3  else-if判断  73
4.1.4  初始化子语句  74
4.2  选择语句  75
4.2.1  switch语句  75
4.2.2  switch初始化语句  78
4.2.3  select语句  79
4.3  循环语句  80
4.3.1  for的子语句  81
4.3.2  range子语句  82
4.4  延迟语句  84
4.5  标签  87
4.5.1  break  87
4.5.2  continue  89
4.5.3  goto  90
4.6  本章小结  91
第5章  函数  92
5.1  认识函数  92
5.1.1  函数的声明  92
5.1.2  函数的参数  93
5.1.3  函数的返回值  94
5.2  函数的基础  95
5.2.1  多返回值  96
5.2.2  函数作为参数  97
5.2.3  函数作为类型  98
5.2.4  可变参数  99
5.2.5  匿名函数与闭包  102
5.2.6  递归函数  106
5.2.7  内置函数  108
5.3  函数进阶  108
5.3.1  参数传递机制  108
5.3.2  defer与跟踪  111
5.3.3  错误与恢复  116
5.4  本章小结  122
第6章  复合数据类型  123
6.1  数组  123
6.1.1  声明数组  123
6.1.2  访问与修改  124
6.1.3  多维数组  126
6.1.4  将数组传递给函数  127
6.2  切片  128
6.2.1  创建数组切片  129
6.2.2  切片的使用  131
6.2.3  多维切片  137
6.2.4  将切片传递给函数  137
6.3  映射  138
6.3.1  映射的实现  138
6.3.2  映射的创建  139
6.3.3  映射的使用  139
6.3.4  将映射传递给函数  141
6.4  本章小结  142
第7章  包  144
7.1  包的基础  144
7.1.1  包的结构  146
7.1.2  包的导入  147
7.1.3  包的使用  153
7.1.4  Go语言工具箱  154
7.2  自定义包  156
7.2.1  包的制作  157
7.2.2  特定平台的代码  157
7.2.3  godoc生成文档  158
7.2.4  包的打包与发布  159
7.2.5  自定义包的导入  164
7.3  本章小结  165
第8章  结构体与方法  166
8.1  结构体  166
8.1.1  结构体定义  166
8.1.2  结构体使用  172
8.1.3  带标签的结构体  175
8.1.4  匿名字段和内嵌结构体  176
8.2  类型系统  179
8.2.1  用户自定义类型  179
8.2.2  值语义和引用语义  182
8.3  方法  184
8.3.1  方法声明  184
8.3.2  为类型添加方法  187
8.3.3  工厂方法创建结构体  188
8.3.4  基于指针对象的方法  190
8.3.5  方法值和方法表达式  191
8.3.6  方法和未导出字段  193
8.3.7  嵌入类型的方法和继承  194
8.4  本章小结  197
第9章  接口与反射  198
9.1  接口  198
9.1.1  接口是什么  199
9.1.2  接口类型与约定  204
9.1.3  接口实现  208
9.1.4  嵌套接口  210
9.1.5  接口赋值  211
9.1.6  接口查询  213
9.1.7  接口组合  214
9.2  反射  215
9.2.1  方法和类型的反射  215
9.2.2  通过反射修改设置值  216
9.2.3  反射结构  218
9.2.4  Printf和反射  220
9.3  本章小结  222
第10章  并发编程  223
10.1  并发编程基础  223
10.1.1  并发与并行  223
10.1.2  指定使用核心数  225
10.2  协程(goroutine)  227
10.2.1  协程基础  228
10.2.2  协程间通信  229
10.3  通道(channel)  231
10.3.1  基本语法  232
10.3.2  select  232
10.3.3  缓冲机制  233
10.3.4  超时和计时器  234
10.3.5  channel的传递  235
10.3.6  单向channel  236
10.3.7  关闭channel  237
10.4  并发进阶  237
10.4.1  多核并行化  237
10.4.2  协程同步  239
10.4.3  协程和恢复  242
10.5  本章小结  243
第11章  网络编程  244
11.1  Socket编程  244
11.1.1  什么是Socket  244
11.1.2  Dial()函数  246
11.1.3  ICMP示例  247
11.1.4  TCP Socket  249
11.1.5  UDP Socket  253
11.2  HTTP编程  255
11.2.1  HTTP客户端  255
11.2.2  HTTP服务器端  260
11.3  RPC编程  262
11.3.1  Go RPC  263
11.3.2  HTTP RPC  263
11.3.3  TCP RPC  266
11.3.4  JSON RPC  268
11.3.5  RPC接口  271
11.4  数据库  272
11.4.1  database/sql接口  272
11.4.2  使用MySQL数据库  277
11.4.3  使用SQLite数据库  280
11.4.4  使用PostgreSQL数据库  282
11.4.5  NoSQL数据库操作  286
11.5  Go语言使用Cookie  287
11.5.1  设置Cookie  287
11.5.2  读取Cookie  288
11.6  本章小结  288
第12章  I/O编程  289
12.1  输入/输出  289
12.1.1  io:基本I/O接口  289
12.1.2  fmt:格式化I/O  292
12.1.3  文本处理  298
12.2  文件系统  298
12.2.1  os:系统功能实现  298
12.2.2  path:兼容路径操作  299
12.3  数据结构与算法  303
12.3.1  排序  304
12.3.2  container  310
12.4  本章小结  314
第13章  文件处理  315
13.1  文件操作  315
13.1.1  创建文件与查看状态  316
13.1.2  重命名与移动  319
13.1.3  打开与关闭  319
13.1.4  删除与截断  321
13.1.5  读写文件  321
13.1.6  权限控制  325
13.1.7  文件链接  328
13.2  XML处理  330
13.2.1  解析XML  330
13.2.2  生成XML  333
13.3  JSON处理  336
13.3.1  解析JSON  336
13.3.2  生成JSON  338
13.4  日志记录  340
13.4.1  Logrus  341
13.4.2  Seelog  342
13.5  压缩  343
13.5.1  打包与解包  343
13.5.2  压缩与解压  345
13.6  本章小结  347
第14章  安全与测试  348
14.1  安全  348
14.1.1  安全相关的基础概念  348
14.1.2  通信安全  350
14.2  测试  354
14.2.1  单元测试  354
14.2.2  基准测试  362
14.3   本章小结  368
第15章  内存管理  369
15.1  内存分配  369
15.1.1  内存管理基本概念  369
15.1.2  逃逸分析  373
15.2  TCMalloc  376
15.2.1  整体结构  377
15.2.2  小内存分配  378
15.2.3  CentralCache  379
15.2.4  大内存分配  381
15.3  Mspan(内存管理器)  384
15.4  垃圾回收  398
15.4.1  标记清理算法  399
15.4.2  标记实现  403
15.4.3  清理  406
15.4.4  监控  408
15.5  本章小结  408


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读—服务器与数据存储

《网管员必读—服务器与数据存储》全面、系统地介绍了在中、高级网络管理和网络工程实施中两个重要方面的主流技术和应用:硬件服务器和数据...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊