目录
- 第1章:Go 语言的起源,发展与普及
- 1.1 起源与发展
- 1.2
- 第2章:安装与运行环境
- 2.1 平台与架构
- 2.2
- 2.3 在 Linux 上安装 Go
- 2.4
- 2.5 在 Windows 上安装 Go
- 2.6
- 2.7 Go 运行时(runtime)
- 2.8
- 第3章:编辑器、集成开发环境与其它工具
- 3.1
- 3.2 编辑器和集成开发环境
- 3.3
- 3.4 构建并运行 Go 程序
- 3.5
- 3.6 生成代码文档
- 3.7
- 3.8 Go 性能说明
- 3.9
第二部分:语言的核心结构与技术
- 第4章:基本结构和基本数据类型
- 4.1 文件名、关键字与标识符
- 4.2
- 4.3 常量
- 4.4
- 4.5 基本类型和运算符
- 4.6
- 4.7 strings 和 strconv 包
- 4.8
- 4.9 指针
- 第5章:
- 5.1 if-else 结构
- 5.2
- 5.3 switch 结构
- 5.4
- 5.5 Break 与 continue
- 5.6
- 第6章:函数(function)
- 第7章:
- 7.1 声明和初始化
- 7.2
- 7.3 For-range 结构
- 7.4
- 7.5 切片的复制与追加
- 7.6
- 第8章:Map
- 8.1
- 8.2 测试键值对是否存在及删除元素
- 8.3
- 8.5 map 的排序
- 8.6
- 第9章:包(package)
- 9.1
- 9.2 regexp 包
- 9.3
- 9.4 精密计算和 big 包
- 9.5
- 9.6 为自定义包使用 godoc
- 9.7
- 9.8 自定义包的目录结构、go install 和 go test
- 9.9
- 9.10 Go 的外部包和项目
- 9.11
- 第10章:结构(struct)与方法(method)
- 10.1
- 10.2 使用工厂方法创建结构体实例
- 10.3
- 10.4 带标签的结构体
- 10.5
- 10.6 方法
- 10.7
- 10.8 垃圾回收和 SetFinalizer
- 第11章:
- 11.1 接口是什么
- 11.2
- 11.3 类型断言:如何检测和转换接口变量的类型
- 11.4
- 11.5 测试一个值是否实现了某个接口
- 11.6
- 11.7 第一个例子:使用 Sorter 接口排序
- 11.8
- 11.9 空接口
- 11.10
- 11.11 Printf 和反射
- 11.12
- 11.13 总结:Go 中的面向对象
- 11.14
- 第12章:读写数据
- 第13章:
- 13.1 错误处理
- 13.2
- 13.3 从 panic 中恢复(Recover)
- 13.4
- 13.5 一种用闭包处理错误的模式
- 13.6
- 13.7 Go 中的单元测试和基准测试
- 13.8
- 13.9 用(测试数据)表驱动测试
- 13.10
- 第14章:协程(goroutine)与通道(channel)
- 14.1
- 14.2 协程间的信道
- 14.3
- 14.4 使用 select 切换协程
- 14.5
- 14.6 协程和恢复(recover)
- 14.7
- 14.9 实现 Futures 模式
- 14.10
- 14.11 限制同时处理的请求数
- 14.12
- 14.13 在多核心上并行计算
- 14.14
- 14.15 漏桶算法
- 14.16
- 14.17 使用通道并发访问对象
- 第15章:
- 15.1 tcp 服务器
- 15.2
- 15.3 访问并读取页面数据
- 15.4
- 15.5 确保网页应用健壮
- 15.6
- 15.7 探索 template 包
- 15.8
- 15.9 用 rpc 实现远程过程调用
- 15.10
- 15.11 与 websocket 通信
- 15.12
第四部分:实际应用
- 第16章:常见的陷阱与错误
- 16.1
- 16.2 误用字符串
- 16.3
- 16.4 何时使用 new() 和 make()
- 16.5
- 16.6 使用指针指向接口类型
- 16.7
- 16.8 误用协程和通道
- 16.9
- 16.10 糟糕的错误处理
- 第17章:
- 第18章:出于性能考虑的实用代码片段
- 18.1
- 18.2 数组和切片
- 18.3
- 18.4 结构体
- 18.5
- 18.6 函数
- 18.7
- 18.8 协程(goroutine)与通道(channel)
- 18.9
- 18.10 其他
- 18.11
- 第19章:构建一个完整的应用程序
- 19.1
- 19.2 短网址项目简介
- 19.3
- 19.4 用户界面:web 服务端
- 19.5
- 19.6 用协程优化性能
- 19.7
- 19.8 多服务器处理架构
- 19.9
- 19.10 总结和增强
- 第20章:Go 语言在 Google App Engine 的使用
- 第21章:实际部署案例
- A 代码引用
- B 有趣的 Go 引用
- C 代码示例列表
- D 书中的包引用
- E 书中的工具引用
- F 常见问题解答
- G 习题答案