Fork me on GitHub

Programming in Go 目录

目前正在学习Go语言,决定翻译《Programming in Go》,有兴趣的可以去亚马逊购买实体书。如果发现本翻译中有错误的地方,欢迎留言指正,不胜感激。有链接的目录说明翻译已经完成。

介绍
为什么是Go
本书结构
致谢
1. 5个例子
1.1 开始
1.2 编辑、编译和运行
1.3 He11o Who?
1.4 大数字–二维切片
1.5 栈–自定义类型及其方法
1.6 Americanise–文件、映射和闭包
1.7 从极坐标到笛卡儿坐标–并发
1.8 练习
2. 布尔与数值类型
2.1 开始
2.1.1 常量和变量
2.1.1.1 枚举
2.2 布尔值及其表达式
2.3 数值类型
2.3.1 整型
2.3.1.1 大整数
2.3.2 浮点类型
2.3.2.1 复数类型
2.4 例子:Statistics
2.4.1 实现一个简单的Statistics函数
2.4.2 实现一个基本的HTTP服务器
2.5 练习
3. 字符串
3.1 字面量、操作符和转义
3.2 比较字符串
3.3 字符和字符串
3.4 字符串索引与切片
3.5 使用fmt包来格式化字符串
3.5.1 格式化布尔值
3.5.2 格式化整数
3.5.3 格式化字符
3.5.4 格式化浮点数
3.5.5 格式化字符串和切片
3.5.6 为调试格式化
3.6 其他字符处理相关的包
3.6.1 strings包
3.6.2 strconv包
3.6.3 uft8包
3.6.4 unicode包
3.6.5 regexp包
3.7 例子:M3u2pls
3.8 练习
4. 集合类型
4.1 值、指针和引用类型
4.2 数组和切片
4.2.1 索引和切分切片
4.2.2 遍历切片
4.2.3 修改切片
4.2.4 排序和查找切片
4.3 映射
4.3.1 创建和填充映射
4.3.2 映射查询
4.3.3 修改映射
4.3.4 键序遍历映射
4.3.5 映射反转
4.4 例子
4.4.1 猜测分隔符
4.4.2 词频统计
4.5 练习
5. 过程式编程
5.1 语法基础
5.1.1 类型转换
5.1.2 类型断言
5.2 分支
5.2.1 if语句
5.2.2 switch语句
5.2.2.1 表达式开关
5.2.2.2 类型开关
5.3 for循环语句
5.4 通信和并发语句
5.4.1 select语句
5.5 defer、panic和recover
5.5.1 panic和recover
5.6 自定义函数
5.6.1 函数参数
5.6.1.1 将函数调用作为函数参数
5.6.1.2 可变参数函数
5.6.1.3 可选参数函数
5.6.2 init()和main()函数
5.6.3 闭包
5.6.4 递归函数
5.6.5 运行时选择函数
5.6.5.1 使用映射和函数引用
5.6.5.2 动态函数创建
5.6.6 泛型函数
5.6.7 高阶函数
5.6.8 纯记忆函数
5.7 例子:缩进排序
5.8 练习
6. 面向对象编程
6.1 关键概念
6.2 自定义类型
6.2.1 添加方法
6.2.1.1 重载方法
6.2.1.2 方法表达式
6.2.2 验证类型
6.3 接口
6.3.1 接口嵌入
6.4 结构体
6.4.1 结构体的聚合和嵌入
6.4.1.1 嵌入值
6.4.1.2 嵌入带方法的匿名值
6.4.1.3 嵌入接口
6.5 例子
6.5.1 FuzzyBool—一个单值自定义类型
6.5.2 Shapes—一系列自定义类型
6.5.2.1 包级别便捷函数
6.5.2.2 嵌套接口的层级
6.5.2.3 自由组合的互相独立接口
6.5.2.4 具体类型和方法
6.5.3 有序映射—一个通用集合类型
6.6 练习
7. 并发编程
7.1 关键概念
7.2 例子
7.2.1 过滤器
7.2.2 并发的Grep
7.2.3 线程安全的映射
7.2.4 Apache Report
7.2.4.1 共享的线程安全映射同步
7.2.4.2 互斥量保护的映射同步
7.2.4.3 使用通道合并映射同步
7.2.5 查找重复数据
7.3 练习
8. 文件处理
8.1 自定义数据文件
8.1.1 处理JSON文件
8.1.1.1 写入JSON文件
8.1.1.2 读取JSON文件
8.1.2 处理XML文件
8.1.2.1 写入XML文件
8.1.2.2 读取XML文件

8.1.3 处理纯文本文件
8.1.3.1 写入文本文件
8.1.3.2 读取文本文件

8.1.4 处理Go语言二进制文件
8.1.4.1 写入Go语言二进制文件
8.1.4.2 读取Go语言二进制文件

8.1.5 处理自定义的二进制文件
8.1.5.1 写入自定义的二进制文件
8.1.5.2 读取自定义的二进制文件

8.2 归档文件
8.2.1 创建zip归档文件
8.2.2 创建可压缩的tar包
8.2.3 解开zip归档文件
8.2.4 解开tar归档文件
8.3 练习
9. 包
9.1 自定义包
9.1.1 创建自定义的包
9.1.1.1 平台特定的代码
9.1.1.2 文档化相关的包
9.1.1.3 单元测试和基准测试相关的包
9.1.2 导入包
9.2 第三方包
9.3 Go命令行工具简介
9.4 Go标准库简介
9.4.1 归档和压缩包
9.4.2 字节流和字符串相关的包
9.4.3 容器包
9.4.4 文件和操作系统相关的包
9.4.4.1 文件格式相关的包
9.4.5 图像包
9.4.6 数学包
9.4.7 其他一些包
9.4.8 网络包
9.4.9 反射包
9.5 练习
10. 附录A
11. 附录B 软件专利的危害
12. 附录C 精选书目

作者:Johnson
原创文章,版权所有,转载请保留原文链接。

发表评论

电子邮件地址不会被公开。 必填项已用*标注