Go语言圣经中文版高清非扫描版(带书签).pdf
《Go语言圣经》是Go语言最经典的书籍。具体目录如下: 第1章综述1 1.1Hello,World1 1.2命令行参数4 1.3查找重复行8 1.4GIF动画13 1.5获取一个URL15 1.6并发获取多个URL17 1.7实现一个Web服务器19 1.8杂项23 第2章程序结构27 2.1名字27 2.2声明28 2.3变量30 2.4赋值36 2.5类型声明39 2.6包和文件41 2.7作用域45 第3章基本数据类型51 3.1整数51 3.2浮点数56 3.3复数61 3.4布尔量63 3.5字符串64 3.6常量75 第4章复合类型81 4.1数组81 4.2切片84 4.3键值对93 4.4结构体99 4.5JSON107 4.6文本和HTML模板113 第5章函数119 5.1函数声明119 5.2递归121 5.3多返回值124 5.4错误127 5.5作为值的函数132 5.6匿名函数135 5.7变参函数142 5.8延后函数调用143 5.9崩溃148 5.10恢复1 51 第6章方法155 6.1方法声明155 6.2带有指针接收器的方法158 6.3包含嵌入结构体的复合类型161 6.4作为值和表达式的方法164 6.5示例:位向量类型165 6.6封装168 第7章接口171 7.1作为规约的接口171 7.2接口类型174 7.3接口约定的达成175 7.4使用flag.Value进行标志位分析179 7.5作为值的接口181 7.6使用sort.Interface进行排序186 7.7http.Handler接口191 7.8错误接口196 7.9示例:表达式评估器197 7.10类型断言205 7.11使用类型断言分辨错误206 7.12使用接口类型断言查询行为208 7.13按类型的程序分支210 7.14示例:基于标记符号的XML解码213 7.15几句建议216 第8章goroutine和信道217 8.1goroutine217 8.2示例:并发时钟服务器219 8.3示例:并发回声服务器222 8.4信道225 8.5并行循环234 8.6示例:并发Web爬虫239 8.7使用select实现多工244 8.8示例:并发目录遍历247 8.9取消执行251 8.10示例:聊天服务器253 第9章使用共享变量实现并发257 9.1竞险257 9.2互斥量:sync.Mutex262 9.3读写互斥量:sync.RWMutex266 9.4内存同步267 9.5缓式初始化:sync.Once268 9.6竞险检测器271 9.7示例:并发无阻塞式高速缓存272 9.8goroutine和线程280 第10章包和go工具283 10.1概述283 10.2导入路径284 10.3包声明285 10.4导入声明285 10.5空导入286 10.6包和命名289 10.7go工具290 第11章测试301 11.1gotest工具302 11.2测试函数302 11.3覆盖率318 11.4性能基准函数321 11.5性能剖析323 11.6示例函数326 第12章反射329 12.1为什么会引入反射概念329 12.2reflect.Type和reflect.Value330 12.3递归值输出Display333 12.4示例:对S-表达式编码338 12.5使用reflect.Value给变量设置值341 12.6示例:对S-表达式解码344 12.7访问结构体域标签348 12.8列出类型的方法351 12.9几句忠告352 第13章低阶程序设计353 13.1unsafe.Sizeof、Alignof和Offsetof354 13.2unsafe.Pointer356 13.3示例:深等价358 13.4使用cgo调用C代码361 13.5再来几句忠告366 51 第6章方法155 6.1方法声明155 6.2带有指针接收器的方法158 6.3包含嵌入结构体的复合类型161 6.4作为值和表达式的方法164 6.5示例:位向量类型165 6.6封装168 第7章接口171 7.1作为规约的接口171 7.2接口类型174 7.3接口约定的达成175 7.4使用flag.Value进行标志位分析179 7.5作为值的接口181 7.6使用sort.Interface进行排序186 7.7http.Handler接口191 7.8错误接口196 7.9示例:表达式评估器197 7.10类型断言205 7.11使用类型断言分辨错误206 7.12使用接口类型断言查询行为208 7.13按类型的程序分支210 7.14示例:基于标记符号的XML解码213 7.15几句建议216 第8章goroutine和信道217 8.1goroutine217 8.2示例:并发时钟服务器219 8.3示例:并发回声服务器222 8.4信道225 8.5并行循环234 8.6示例:并发Web爬虫239 8.7使用select实现多工244 8.8示例:并发目录遍历247 8.9取消执行251 8.10示例:聊天服务器253 第9章使用共享变量实现并发257 9.1竞险257 9.2互斥量:sync.Mutex262 9.3读写互斥量:sync.RWMutex266 9.4内存同步267 9.5缓式初始化:sync.Once268 9.6竞险检测器271 9.7示例:并发无阻塞式高速缓存272 9.8goroutine和线程280 第10章包和go工具283 10.1概述283 10.2导入路径284 10.3包声明285 10.4导入声明285 10.5空导入286 10.6包和命名289 10.7go工具290 第11章测试301 11.1gotest工具302 11.2测试函数302 11.3覆盖率318 11.4性能基准函数321 11.5性能剖析323 11.6示例函数326 第12章反射329 12.1为什么会引入反射概念329 12.2reflect.Type和reflect.Value330 12.3递归值输出Display333 12.4示例:对S-表达式编码338 12.5使用reflect.Value给变量设置值341 12.6示例:对S-表达式解码344 12.7访问结构体域标签348 12.8列出类型的方法351 12.9几句忠告352 第13章低阶程序设计353 13.1unsafe.Sizeof、Alignof和Offsetof354 13.2unsafe.Pointer356 13.3示例:深等价358 13.4使用cgo调用C代码361 13.5再来几句忠告366
用户评论
学习golang不错的书籍,适合有一定基础的
下载速度好慢啊