-
内容大纲
艾伦A.A.多诺万、布莱恩W.柯尼汉著的《Go程序设计语言(英文版)》是所有想要学习Go语言的程序员的权威学习资源和教程,旨在帮助你立刻开始使用Go,以及良好地掌握这门语言,并充分地利用Go语言的特性和标准库来撰写清晰的、符合习惯用法的、高效的程序,以解决现实世界的问题。作者不要求读者了解Go语言或已经具有任何具体程序语言的编程经验。所以无论你是用像C、C++或Java那样的编译型语言编过程序,还是有过像Pyttlon、RIJby或JavaScript那样的解释型语言的编程经历,都会觉得这本书易于理解和学习。
本书的组织结构
·第1章介绍Go语言的基础概念,通过十几个完成日常任务(包括读写文件、格式化文本、创建图像。以及在Internet客户端和服务器之间通信)的程序来介绍这门语言。
·开始的几章覆盖Go程序的组成元素(语法、控制流、数据类型),以及程序的组织(包、文件和函数)。后面的几章详细解释了包机制,以及如何高效地利用go工具来构建、测试和维护项目。
·关于方法和接口的两章(第6章和第7章)介绍Go以一种不同寻常的方式来诠释面向对象程序设计,其中方法可以关联到任何用户自定义的类型,而具体类型和抽象类型(即接口)之间的关系是隐式的,具体类型可能会满足一个该类型设计者没有意识到其存在的接口。书中用实际例子来解释封装、组合、可替代性。
·关于并发的两章(第8章和第9章)深入讨论这个日益重要的主题。第8章介绍gorouti rle和信道的基本机制,说明了被称为CSP(Communicating SeqL~ential Process)的模型。第9章讨论了并发性中较传统的方面,使用共享变量来实现并发。这两章内容为程序员首次遇到并发问题打下坚实基础。
·最后两章研讨Go的低级特性。第12章讲解使用反射的元编程的艺术。第13章展示了如何运用unsafe包来绕过Go的类型系统,以及如何使用cgo工具来调用C代码。
本书代码编写规范,配有数百个有用实例,涵盖整个Go语言及其最重要的包和广泛的应用。每章都附有一定数量的练习,可以用来测试读者对Go的理解,或是探索对书中示例的扩展和变形。源代码可以从位于http://gopl.io/的公开Git仓库下载,并且能够方便地使用go get命令获取、构建和安装。 -
作者介绍
-
目录
第1章 综述
1.1 Hello,World
1.2 命令行参数
1.3 查找重复行
1.4 GIF动画
1.5 获取一个URL
1.6 并发获取多个URL
1.7 实现一个Web服务器
1.8 杂项
第2章 程序结构
2.1 名字
2.2 声明
2.3 变量
2.4 赋值
2.5 类型声明
2.6 包和文件
2.7 作用域
第3章 基本数据类型
3.1 整数
3.2 浮点数
3.3 复数
3.4 布尔量
3.5 字符串
3.6 常量
第4章 复合类型
4.1 数组
4.2 切片
4.3 键值对
4.4 结构体
4.5 JSON
4.6 文本和HTML模板
第5章 函数
5.1 函数声明
5.2 递归
5.3 多返回值
5.4 错误
5.5 作为值的函数
5.6 匿名函数
5.7 变参函数
5.8 延后函数调用
5.9 崩溃
5.10 恢复
第6章 方法
6.1 方法声明
6.2 带有指针接收器的方法
6.3 包含嵌入结构体的复合类型
6.4 作为值和表达式的方法
6.5 示例:位向量类型
6.6 封装
第7章 接口
7.1 作为规约的接口
7.2 接口类型
7.3 接口约定的达成
7.4 使用flag.Value进行标志位分析
7.5 作为值的接口 181
7.6 使用sort.Interface进行排序
7.7 http.Handler接口
7.8 错误接口
7.9 示例:表达式评估器
7.10 类型断言
7.11 使用类型断言分辨错误
7.12 使用接口类型断言查询行为
7.13 按类型的程序分支
7.14 示例:基于标记符号的XML解码
7.15 几句建议
第8章 goroutine和信道
8.1 goroutine
8.2 示例:并发时钟服务器
8.3 示例:并发回声服务器
8.4 信道
8.5 并行循环
8.6 示例:并发Web爬虫
8.7 使用select实现多工
8.8 示例:并发目录遍历
8.9 取消执行
8.10 示例:聊天服务器
第9章 使用共享变量实现并发
9.1 竞险
9.2 互斥量:sync.Mutex
9.3 读写互斥量:sync.RWMutex
9.4 内存同步
9.5 缓式初始化:sync.Once
9.6 竞险检测器
9.7 示例:并发无阻塞式高速缓存
9.8 goroutine和线程
第10章 包和go工具
10.1 概述
10.2 导入路径
10.3 包声明
10.4 导入声明
10.5 空导入
10.6 包和命名
10.7 go工具
第11章 测试
11.1 go test工具
11.2 测试函数
11.3 覆盖率
11.4 性能基准函数
11.5 性能剖析
11.6 示例函数
第12章 反射
12.1 为什么会引入反射概念
12.2 reflect.Type和reflect.Value
12.3 递归值输出Display
12.4 示例:对S-表达式编码
12.5 使用reflect.Value给变量设置值
12.6 示例:对S-表达式解码
12.7 访问结构体域标签
12.8 列出类型的方法
12.9 几句忠告
第13章 低阶程序设计
13.1 unsafe.Sizeof、Alignof和Offsetof
13.2 unsafe.Pointer
13.3 示例:深等价
13.4 使用cgo调用C代码
13.5 再来几句忠告
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
