Skip to content

Commit

Permalink
规范目录编号
Browse files Browse the repository at this point in the history
  • Loading branch information
chai2010 committed Aug 3, 2018
1 parent fffa93b commit 196df74
Show file tree
Hide file tree
Showing 69 changed files with 756 additions and 756 deletions.
128 changes: 64 additions & 64 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,69 @@
# 目录

* [第一章 语言基础](ch1-basic/readme.md)
* [1.1. Go语言创世纪](ch1-basic/ch1-01-genesis.md)
* [1.2. Hello, World 的革命](ch1-basic/ch1-02-hello-revolution.md)
* [1.3. 数组、字符串和切片](ch1-basic/ch1-03-array-string-and-slice.md)
* [1.4. 函数、方法和接口](ch1-basic/ch1-04-func-method-interface.md)
* [1.5. 面向并发的内存模型](ch1-basic/ch1-05-mem.md)
* [1.6. 常见的并发模式](ch1-basic/ch1-06-goroutine.md)
* [1.7. 错误和异常](ch1-basic/ch1-07-error-and-panic.md)
* [1.8. 补充说明](ch1-basic/ch1-08-ext.md)
* [第二章 CGO编程](ch2-cgo/readme.md)
* [2.1. 快速入门](ch2-cgo/ch2-01-hello-cgo.md)
* [2.2. CGO基础](ch2-cgo/ch2-02-basic.md)
* [2.3. 类型转换](ch2-cgo/ch2-03-cgo-types.md)
* [2.4. 函数调用](ch2-cgo/ch2-04-func.md)
* [2.5. 内部机制](ch2-cgo/ch2-05-internal.md)
* [2.6. 实战: 封装qsort](ch2-cgo/ch2-06-qsort.md)
* [2.7. CGO内存模型](ch2-cgo/ch2-07-memory.md)
* [2.8. C++类包装](ch2-cgo/ch2-08-class.md)
* [2.9. 静态库和动态库](ch2-cgo/ch2-09-static-shared-lib.md)
* [2.10. 编译和链接参数](ch2-cgo/ch2-10-link.md)
* [2.11. 补充说明](ch2-cgo/ch2-11-ext.md)
* [第三章 汇编语言](ch3-asm/readme.md)
* [3.1. 快速入门](ch3-asm/ch3-01-basic.md)
* [3.2. 计算机结构](ch3-asm/ch3-02-arch.md)
* [3.3. 常量和全局变量](ch3-asm/ch3-03-const-and-var.md)
* [3.4. 函数](ch3-asm/ch3-04-func.md)
* [3.5. 控制流](ch3-asm/ch3-05-control-flow.md)
* [3.6. 再论函数](ch3-asm/ch3-06-func-again.md)
* [3.7. 汇编语言的威力](ch3-asm/ch3-07-hack-asm.md)
* [3.8. 例子:Goroutine ID](ch3-asm/ch3-08-goroutine-id.md)
* [3.9. Delve调试器](ch3-asm/ch3-09-debug.md)
* [3.10. 补充说明](ch3-asm/ch3-10-ext.md)
* [第四章 RPC和Protobuf](ch4-rpc/readme.md)
* [4.1. RPC入门](ch4-rpc/ch4-01-rpc-intro.md)
* [4.2. Protobuf](ch4-rpc/ch4-02-pb-intro.md)
* [4.3. 玩转RPC](ch4-rpc/ch4-03-netrpc-hack.md)
* [4.4. GRPC入门](ch4-rpc/ch4-04-grpc.md)
* [4.5. GRPC进阶](ch4-rpc/ch4-05-grpc-hack.md)
* [4.6. GRPC和Protobuf扩展](ch4-rpc/ch4-06-grpc-ext.md)
* [4.7. pbgo: 基于Protobuf的框架](ch4-rpc/ch4-07-pbgo.md)
* [4.8. 补充说明](ch4-rpc/ch4-08-ext.md)
* [第五章 Go和Web](ch5-web/readme.md)
* [5.1. Web开发简介](ch5-web/ch5-01-introduction.md)
* [5.2. Router请求路由](ch5-web/ch5-02-router.md)
* [5.3. Middleware中间件](ch5-web/ch5-03-middleware.md)
* [5.4. Validator请求校验](ch5-web/ch5-04-validator.md)
* [5.5. Database和数据库打交道](ch5-web/ch5-05-database.md)
* [5.6. Ratelimit 服务流量限制](ch5-web/ch5-06-ratelimit.md)
* [5.7. Layout大型web项目分层](ch5-web/ch5-07-layout-of-web-project.md)
* [5.8. interface 和 table-driven 开发](ch5-web/ch5-08-interface-and-web.md)
* [5.9. 灰度发布和 A/B test](ch5-web/ch5-09-gated-launch.md)
* [5.11. Load-balance负载均衡](ch5-web/ch5-11-load-balance.md)
* [第六章 分布式系统](ch6-cloud/readme.md)
* [6.1. 云上地鼠(TODO)](ch6-cloud/ch6-01-cloud.md)
* [6.2. 分布式搜索引擎](ch6-cloud/ch6-02-search-engine.md)
* [6.2. Raft协议(TODO)](ch6-cloud/ch6-03-raft.md)
* [6.4. 分布式队列(TODO)](ch6-cloud/ch6-04-queue.md)
* [6.5. 分布式缓存(TODO)](ch6-cloud/ch6-05-cache.md)
* [6.6. etcd(TODO)](ch6-cloud/ch6-06-etcd.md)
* [6.7. 分布式 id 生成器](ch6-cloud/ch6-07-dist-id.md)
* [6.8. 分布式锁(Doing)](ch6-cloud/ch6-08-lock.md)
* [6.9. 分布式任务调度系统(TODO)](ch6-cloud/ch6-09-sched.md)
* [6.10. 延时任务系统](ch6-cloud/ch6-10-delay-job.md)
* [6.12. 补充说明(TODO)](ch6-cloud/ch6-11-faq.md)
* [第1章 语言基础](ch1-basic/readme.md)
* [1.1 Go语言创世纪](ch1-basic/ch1-01-genesis.md)
* [1.2 Hello, World 的革命](ch1-basic/ch1-02-hello-revolution.md)
* [1.3 数组、字符串和切片](ch1-basic/ch1-03-array-string-and-slice.md)
* [1.4 函数、方法和接口](ch1-basic/ch1-04-func-method-interface.md)
* [1.5 面向并发的内存模型](ch1-basic/ch1-05-mem.md)
* [1.6 常见的并发模式](ch1-basic/ch1-06-goroutine.md)
* [1.7 错误和异常](ch1-basic/ch1-07-error-and-panic.md)
* [1.8 补充说明](ch1-basic/ch1-08-ext.md)
* [第2章 CGO编程](ch2-cgo/readme.md)
* [2.1 快速入门](ch2-cgo/ch2-01-hello-cgo.md)
* [2.2 CGO基础](ch2-cgo/ch2-02-basic.md)
* [2.3 类型转换](ch2-cgo/ch2-03-cgo-types.md)
* [2.4 函数调用](ch2-cgo/ch2-04-func.md)
* [2.5 内部机制](ch2-cgo/ch2-05-internal.md)
* [2.6 实战: 封装qsort](ch2-cgo/ch2-06-qsort.md)
* [2.7 CGO内存模型](ch2-cgo/ch2-07-memory.md)
* [2.8 C++类包装](ch2-cgo/ch2-08-class.md)
* [2.9 静态库和动态库](ch2-cgo/ch2-09-static-shared-lib.md)
* [2.10 编译和链接参数](ch2-cgo/ch2-10-link.md)
* [2.11 补充说明](ch2-cgo/ch2-11-ext.md)
* [第3章 汇编语言](ch3-asm/readme.md)
* [3.1 快速入门](ch3-asm/ch3-01-basic.md)
* [3.2 计算机结构](ch3-asm/ch3-02-arch.md)
* [3.3 常量和全局变量](ch3-asm/ch3-03-const-and-var.md)
* [3.4 函数](ch3-asm/ch3-04-func.md)
* [3.5 控制流](ch3-asm/ch3-05-control-flow.md)
* [3.6 再论函数](ch3-asm/ch3-06-func-again.md)
* [3.7 汇编语言的威力](ch3-asm/ch3-07-hack-asm.md)
* [3.8 例子:Goroutine ID](ch3-asm/ch3-08-goroutine-id.md)
* [3.9 Delve调试器](ch3-asm/ch3-09-debug.md)
* [3.10 补充说明](ch3-asm/ch3-10-ext.md)
* [第4章 RPC和Protobuf](ch4-rpc/readme.md)
* [4.1 RPC入门](ch4-rpc/ch4-01-rpc-intro.md)
* [4.2 Protobuf](ch4-rpc/ch4-02-pb-intro.md)
* [4.3 玩转RPC](ch4-rpc/ch4-03-netrpc-hack.md)
* [4.4 GRPC入门](ch4-rpc/ch4-04-grpc.md)
* [4.5 GRPC进阶](ch4-rpc/ch4-05-grpc-hack.md)
* [4.6 GRPC和Protobuf扩展](ch4-rpc/ch4-06-grpc-ext.md)
* [4.7 pbgo: 基于Protobuf的框架](ch4-rpc/ch4-07-pbgo.md)
* [4.8 补充说明](ch4-rpc/ch4-08-ext.md)
* [第5章 Go和Web](ch5-web/readme.md)
* [5.1 Web开发简介](ch5-web/ch5-01-introduction.md)
* [5.2 Router请求路由](ch5-web/ch5-02-router.md)
* [5.3 Middleware中间件](ch5-web/ch5-03-middleware.md)
* [5.4 Validator请求校验](ch5-web/ch5-04-validator.md)
* [5.5 Database和数据库打交道](ch5-web/ch5-05-database.md)
* [5.6 Ratelimit 服务流量限制](ch5-web/ch5-06-ratelimit.md)
* [5.7 Layout大型web项目分层](ch5-web/ch5-07-layout-of-web-project.md)
* [5.8 interface 和 table-driven 开发](ch5-web/ch5-08-interface-and-web.md)
* [5.9 灰度发布和 A/B test](ch5-web/ch5-09-gated-launch.md)
* [5.11 Load-balance负载均衡](ch5-web/ch5-11-load-balance.md)
* [第6章 分布式系统](ch6-cloud/readme.md)
* [6.1 云上地鼠(TODO)](ch6-cloud/ch6-01-cloud.md)
* [6.2 分布式搜索引擎](ch6-cloud/ch6-02-search-engine.md)
* [6.2 Raft协议(TODO)](ch6-cloud/ch6-03-raft.md)
* [6.4 分布式队列(TODO)](ch6-cloud/ch6-04-queue.md)
* [6.5 分布式缓存(TODO)](ch6-cloud/ch6-05-cache.md)
* [6.6 etcd(TODO)](ch6-cloud/ch6-06-etcd.md)
* [6.7 分布式 id 生成器](ch6-cloud/ch6-07-dist-id.md)
* [6.8 分布式锁(Doing)](ch6-cloud/ch6-08-lock.md)
* [6.9 分布式爬虫(TODO)](ch6-cloud/ch6-09-scrawler.md)
* [6.10 延时任务系统](ch6-cloud/ch6-10-delay-job.md)
* [6.11 补充说明(TODO)](ch6-cloud/ch6-11-faq.md)
* [附录](appendix/readme.md)
* [附录A: Go语言常见坑](appendix/appendix-a-trap.md)
* [附录B: 有趣的代码片段](appendix/appendix-b-gems.md)
Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-01-genesis.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.1. Go语言创世纪
# 1.1 Go语言创世纪

Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,设计新语言的最初的洪荒之力来自于对超级复杂的C++11特性的吹捧报告的鄙视,最终的目标是设计网络和多核时代的C语言。到2008年中期,语言的大部分特性设计已经完成,并开始着手实现编译器和运行时,大约在这一年Russ Cox作为主力开发者加入。到了2010年,Go语言已经逐步趋于稳定,并在9月正式发布Go语言并开源了代码。

Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-02-hello-revolution.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.2. Hello, World 的革命
# 1.2 Hello, World 的革命

在创世纪章节中我们简单介绍了Go语言的演化基因族谱,对其中来自于贝尔实验室的特有并发编程基因做了重点介绍,最后引出了Go语言版的“Hello, World”程序。其实“Hello, World”程序是展示各种语言特性的最好的例子,是通向该语言的一个窗口。这一节我们将沿着各个编程语言演化的时间轴,简单回顾下“Hello, World”程序是如何逐步演化到目前的Go语言形式、最终完成它的革命使命的。

Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-03-array-string-and-slice.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.3. 数组、字符串和切片
# 1.3 数组、字符串和切片

在主流的编程语言中数组及其相关的数据结构是使用得最为频繁的,只有在它(们)不能满足时才会考虑链表、hash表(hash表可以看作是数组和链表的混合体)和更复杂的自定义数据结构。

Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-04-func-method-interface.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.4. 函数、方法和接口
# 1.4 函数、方法和接口

函数对应操作序列,是程序的基本组成元素。Go语言中的函数有具名和匿名之分:具名函数一般对应于包级的函数,是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数,闭包函数是函数式编程语言的核心。方法是绑定到一个具体类型的特殊函数,Go语言中的方法是依托于类型的,必须在编译时静态绑定。接口定义了方法的集合,这些方法依托于运行时的接口对象,因此接口对应的方法是在运行时动态绑定的。Go语言通过隐式接口机制实现了鸭子面向对象模型。

Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-05-mem.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.5. 面向并发的内存模型
# 1.5 面向并发的内存模型

在早期,CPU都是以单核的形式顺序执行机器指令。Go语言的祖先C语言正是这种顺序编程语言的代表。顺序编程语言中的顺序是指:所有的指令都是以串行的方式执行,在相同的时刻有且仅有一个CPU在顺序执行程序的指令。

Expand Down
2 changes: 1 addition & 1 deletion ch1-basic/ch1-06-goroutine.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 1.6. 常见的并发模式
# 1.6 常见的并发模式

Go语言最吸引人的地方是它内建的并发支持。Go语言并发体系的理论是C.A.R Hoare在1978年提出的CSP(Communicating Sequential Process,通讯顺序进程)。CSP有着精确的数学模型,并实际应用在了Hoare参与设计的T9000通用计算机上。从NewSqueak、Alef、Limbo到现在的Go语言,对于对CSP有着20多年实战经验的Rob Pike来说,他更关注的是将CSP应用在通用编程语言上的潜力。作为Go并发编程核心的CSP理论的核心概念只有一个:同步通信。关于同步通信的话题我们在前面一节已经讲过,本节我们将简单介绍下Go语言中常见的并发模式。

Expand Down
Loading

0 comments on commit 196df74

Please sign in to comment.