From 0146ff45cd358879e3c88cf4a7d5c033eb589f6a Mon Sep 17 00:00:00 2001 From: chai2010 Date: Mon, 1 Jan 2018 08:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=AC=AC=E4=B8=80=E7=AB=A0?= =?UTF-8?q?=E5=92=8C=E9=99=84=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 25 + Makefile | 25 + SUMMARY.md | 15 + appendix/appendix-a-trap.md | 423 +++++++++ appendix/appendix-b-ref.md | 23 + appendix/appendix-c-author.md | 3 + appendix/readme.md | 3 + book.json | 13 + ch1-basic/ch1-01-genesis.md | 56 ++ ch1-basic/ch1-02-hello-revolution.md | 421 +++++++++ ch1-basic/ch1-03-array-string-and-slice.md | 611 +++++++++++++ ch1-basic/ch1-04-func-method-interface.md | 501 +++++++++++ ch1-basic/ch1-05-mem.md | 388 +++++++++ ch1-basic/ch1-06-goroutine.md | 945 +++++++++++++++++++++ ch1-basic/ch1-07-error-and-panic.md | 429 ++++++++++ ch1-basic/ch1-08-ide.md | 151 ++++ ch1-basic/readme.md | 3 + doc.go | 10 + images/ConEmu.png | Bin 0 -> 49354 bytes images/TextMate-1.png | Bin 0 -> 31559 bytes images/alef.png | Bin 0 -> 13448 bytes images/array-4int.png | Bin 0 -> 2505 bytes images/atom-01.png | Bin 0 -> 31058 bytes images/chai2010.jpg | Bin 0 -> 25331 bytes images/go-family-tree.dot | 26 + images/go-family-tree.png | Bin 0 -> 53199 bytes images/go-father.jpg | Bin 0 -> 25567 bytes images/go-history.png | Bin 0 -> 9738 bytes images/go-log04.png | Bin 0 -> 17068 bytes images/init.png | Bin 0 -> 9948 bytes images/ios-textastic-02.png | Bin 0 -> 93505 bytes images/ios-textastic.png | Bin 0 -> 19681 bytes images/ios-working-copy-02.png | Bin 0 -> 50406 bytes images/ios-working-copy.png | Bin 0 -> 38690 bytes images/macos-textastic.png | Bin 0 -> 48559 bytes images/npp-auto-completion.png | Bin 0 -> 2963 bytes images/npp-go-asm.png | Bin 0 -> 44149 bytes images/npp-go.png | Bin 0 -> 35654 bytes images/npp-proto.png | Bin 0 -> 38344 bytes images/prime-sieve.png | Bin 0 -> 7959 bytes images/slice-1.png | Bin 0 -> 4910 bytes images/string-1.png | Bin 0 -> 6235 bytes images/string-2.png | Bin 0 -> 9777 bytes images/vscode-01.png | Bin 0 -> 40531 bytes images/vscode-02.jpg | Bin 0 -> 36465 bytes server.go | 99 +++ 46 files changed, 4170 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 SUMMARY.md create mode 100644 appendix/appendix-a-trap.md create mode 100644 appendix/appendix-b-ref.md create mode 100644 appendix/appendix-c-author.md create mode 100644 appendix/readme.md create mode 100644 book.json create mode 100644 ch1-basic/ch1-01-genesis.md create mode 100644 ch1-basic/ch1-02-hello-revolution.md create mode 100644 ch1-basic/ch1-03-array-string-and-slice.md create mode 100644 ch1-basic/ch1-04-func-method-interface.md create mode 100644 ch1-basic/ch1-05-mem.md create mode 100644 ch1-basic/ch1-06-goroutine.md create mode 100644 ch1-basic/ch1-07-error-and-panic.md create mode 100644 ch1-basic/ch1-08-ide.md create mode 100644 ch1-basic/readme.md create mode 100644 doc.go create mode 100644 images/ConEmu.png create mode 100644 images/TextMate-1.png create mode 100644 images/alef.png create mode 100644 images/array-4int.png create mode 100644 images/atom-01.png create mode 100644 images/chai2010.jpg create mode 100644 images/go-family-tree.dot create mode 100644 images/go-family-tree.png create mode 100644 images/go-father.jpg create mode 100644 images/go-history.png create mode 100644 images/go-log04.png create mode 100644 images/init.png create mode 100644 images/ios-textastic-02.png create mode 100644 images/ios-textastic.png create mode 100644 images/ios-working-copy-02.png create mode 100644 images/ios-working-copy.png create mode 100644 images/macos-textastic.png create mode 100644 images/npp-auto-completion.png create mode 100644 images/npp-go-asm.png create mode 100644 images/npp-go.png create mode 100644 images/npp-proto.png create mode 100644 images/prime-sieve.png create mode 100644 images/slice-1.png create mode 100644 images/string-1.png create mode 100644 images/string-2.png create mode 100644 images/vscode-01.png create mode 100644 images/vscode-02.jpg create mode 100644 server.go diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..21bafdf --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Node rules: +## Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +## Dependency directory +## Commenting this out is preferred by some people, see +## https://docs.npmjs.com/misc/faq#should-i-check-my-node_modules-folder-into-git +node_modules + +# Book build output +_book + +# eBook build output +*.epub +*.mobi +*.pdf + +*.o +*.obj +*.exe + +_obj + +# macOS +.DS_Store diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..47c69a5 --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +# Copyright 2016 . All rights reserved. +# Use of this source code is governed by a BSD-style +# license that can be found in the LICENSE file. + +# +# fix gitbook build error on macOS(node@8.x and gitbook@2.6.7) +# +# gitbook fetch 3.2.3 +# gitbook build --gitbook=3.2.3 +# +# https://github.com/GitbookIO/gitbook/issues/1774 +# https://github.com/GitbookIO/gitbook-cli/blob/master/README.md +# + +default: + gitbook build + +macos: + gitbook build --gitbook=3.2.3 + +server: + go run server.go + +clean: + -rm -rf _book diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 0000000..d868c29 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,15 @@ +# Summary + +* [第一章 语言基础](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-ide.md) +* [附录](appendix/readme.md) + * [附录A: Go语言常见坑](appendix/appendix-a-trap.md) + * [附录B: 参考资料](appendix/appendix-b-ref.md) + * [附录C: 作者简介](appendix/appendix-c-author.md) diff --git a/appendix/appendix-a-trap.md b/appendix/appendix-a-trap.md new file mode 100644 index 0000000..65150e6 --- /dev/null +++ b/appendix/appendix-a-trap.md @@ -0,0 +1,423 @@ +# 附录A:Go语言常见坑 + +这里列举的Go语言常见坑都是符合Go语言语法的, 可以正常的编译, 但是可能是运行结果错误, 或者是有资源泄漏的风险. + +## 数组是值传递 + +在函数调用参数中, 数组是值传递, 无法通过修改数组类型的参数返回结果. + +```go +func main() { + x := [3]int{1, 2, 3} + + func(arr [3]int) { + arr[0] = 7 + fmt.Println(arr) + }(x) + + fmt.Println(x) +} +``` + +必要时需要使用切片. + +## map遍历是顺序不固定 + +map是一种hash表实现, 每次遍历的顺序都可能不一样. + +```go +func main() { + m := map[string]string{ + "1": "1", + "2": "2", + "3": "3", + } + + for k, v := range m { + println(k, v) + } +} +``` + +## 返回值被屏蔽 + +在局部作用域中, 命名的返回值内同名的局部变量屏蔽: + +```go +func Foo() (err error) { + if err := Bar(); err != nil { + return + } + return +} +``` + +## recover必须在defer函数中运行 + +recover捕获的是祖父级调用时的异常, 直接调用时无效: + +```go +func main() { + recover() + panic(1) +} +``` + +直接defer调用也是无效: + +```go +func main() { + defer recover() + panic(1) +} +``` + +defer调用时多层嵌套依然无效: + +```go +func main() { + defer func() { + func() { recover() }() + }() + panic(1) +} +``` + +必须在defer函数中直接调用才有效: + +```go +func main() { + defer func() { + recover() + }() + panic(1) +} +``` + +## main函数提前退出 + +后台Goroutine无法保证完成任务. + +```go +func main() { + go println("hello") +} +``` + +## 通过Sleep来回避并发中的问题 + +休眠并不能保证输出完整的字符串: + +```go +func main() { + go println("hello") + time.Sleep(time.Second) +} +``` + +类似的还有通过插入调度语句: + +```go +func main() { + go println("hello") + runtime.Gosched() +} +``` + +## 独占CPU导致其它Goroutine饿死 + +Goroutine是协作式调度, Goroutine本身不会主动放弃CPU: + +```go +func main() { + runtime.GOMAXPROCS(1) + + go func() { + for i := 0; i < 10; i++ { + fmt.Println(i) + } + }() + + for {} // 占用CPU +} +``` + +解决的方法是在for循环加入runtime.Gosched()调度函数: + +```go +func main() { + runtime.GOMAXPROCS(1) + + go func() { + for i := 0; i < 10; i++ { + fmt.Println(i) + } + }() + + for { + runtime.Gosched() + } +} +``` + +或者是通过阻塞的方式避免CPU占用: + +```go +func main() { + runtime.GOMAXPROCS(1) + + go func() { + for i := 0; i < 10; i++ { + fmt.Println(i) + } + }() + + select{} +} +``` + +## 不同Goroutine之间不满足顺序一致性内存模型 + +因为在不同的Goroutine, main函数可能无法观测到done的状态变化, 那么for循环会陷入死循环: + +```go +var msg string +var done bool = false + +func main() { + runtime.GOMAXPROCS(1) + + go func() { + msg = "hello, world" + done = true + }() + + for { + if done { + println(msg) + break + } + } +} +``` + +解决的办法是用显示同步: + +```go +var msg string +var done = make(chan bool) + +func main() { + runtime.GOMAXPROCS(1) + + go func() { + msg = "hello, world" + done <- true + }() + + <-done + println(msg) +} +``` + +## 闭包错误引用同一个变量 + +```go +func main() { + for i := 0; i < 5; i++ { + defer func() { + println(i) + }() + } +} +``` + +改进的方法是在每轮迭代中生成一个局部变量 + +```go +func main() { + for i := 0; i < 5; i++ { + i := i + defer func() { + println(i) + }() + } +} +``` + +或者是通过函数参数传入 + +```go +func main() { + for i := 0; i < 5; i++ { + defer func(i int) { + println(i) + }(i) + } +} +``` + +## 在循环内部执行defer语句 + +defer在函数退出时才能执行, 在for执行defer会导致资源延迟释放: + +```go +func main() { + for i := 0; i < 5; i++ { + f, err := os.Open("/path/to/file") + if err != nil { + log.Fatal(err) + } + defer f.Close() + } +} +``` + +解决的方法可以在for中构造一个局部函数, 在局部函数内部执行defer: + +```go +func main() { + for i := 0; i < 5; i++ { + func() { + f, err := os.Open("/path/to/file") + if err != nil { + log.Fatal(err) + } + defer f.Close() + }() + } +} +``` + +## 切片会导致整个底层数组被锁定 + +切片会导致整个底层数组被锁定, 底层数组无法释放内存. 如果底层数组较大会对内存产生很大的压力. + +```go +func main() { + headerMap := make(map[string][]byte) + + for i := 0; i < 5; i++ { + name := "/path/to/file" + data, err := ioutil.ReadFile(name) + if err != nil { + log.Fatal(err) + } + headerMap[name] = data[:1] + } + + // do some thing +} +``` + +解决的方法是将结果克隆一份, 这样可以释放底层的数组: + +```go +func main() { + headerMap := make(map[string][]byte) + + for i := 0; i < 5; i++ { + name := "/path/to/file" + data, err := ioutil.ReadFile(name) + if err != nil { + log.Fatal(err) + } + headerMap[name] = append([]byte{}, data[:1]...) + } + + // do some thing +} +``` + +## 空指针和空接口不等价 + +比如返回了一个错误指针, 但是并不是空的error接口: + +```go +func returnsError() error { + var p *MyError = nil + if bad() { + p = ErrBad + } + return p // Will always return a non-nil error. +} +``` + +## 内存地址会变化 + +Go语言中对象的地址可能发生变化, 因此指针不能从其它非指针类型的值生成: + +```go +func main() { + var x int = 42 + var p uintptr = uintptr(unsafe.Poiner(&x)) + + runtime.GC() + var px *int = (*int)(unsafe.Poiner(p)) + println(*px) +} +``` + +当内存发送变化的时候, 相关的指针会同步更新, 但是非指针类型的uintptr不会做同步更新. + +同理, cgo中也不能保存Go对象地址. + +## Goroutine泄露 + +Go语言是带内存自动回收的特性,因此内存一般不会泄漏。但是Goroutine确存在泄漏的情况,同时泄漏的Goroutine引用的内存同样无法被回收。 + +```go +func main() { + ch := func() <-chan int { + ch := make(chan int) + go func() { + for i := 0; ; i++ { + ch <- i + } + } () + return ch + }() + + for v := range ch { + fmt.Println(v) + if v == 5 { + break + } + } +} +``` + +上面的程序中后台Goroutine向管道输入自然数序列,main函数中输出序列。但是当break跳出for循环的时候,后台Goroutine就处于无法被回收的状态了。 + +我们可以通过contxt包来避免做个问题: + + +```go +func main() { + ctx, cancel := context.WithCancel(context.Background()) + + ch := func(ctx context.Context) <-chan int { + ch := make(chan int) + go func() { + for i := 0; ; i++ { + select { + case <- ctx.Done(): + return + case ch <- i: + } + } + } () + return ch + }(ctx) + + for v := range ch { + fmt.Println(v) + if v == 5 { + cancel() + break + } + } +} +``` + +当main函数在break跳出循环时,通过调用`cancel()`来通知后台Goroutine退出,这样就避免了Goroutine的泄漏。 diff --git a/appendix/appendix-b-ref.md b/appendix/appendix-b-ref.md new file mode 100644 index 0000000..311f29f --- /dev/null +++ b/appendix/appendix-b-ref.md @@ -0,0 +1,23 @@ +# 附录B:参考资料 + +## 参考网站 + +- Go语言官网: https://golang.org +- SWIG官网: http://swig.org +- GopherJS官网: http://www.gopherjs.org +- GRPC官网: http://www.grpc.io +- rsc博客: http://research.swtch.com + +## 参考书目 + +- 《Go语言圣经》: https://gopl.io +- 《Go语言圣经(中文版)》: https://github.com/golang-china/gopl-zh +- 《Go语言·云动力》: http://www.ituring.com.cn/book/1040 +- 《Go语言编程》: http://www.ituring.com.cn/book/967 +- 《Go语言程序设计》: http://www.ptpress.com.cn/Book.aspx?id=35714 +- 《C程序设计语言》: http://product.china-pub.com/14975 +- 《汇编语言:基于X86处理器》: http://product.china-pub.com/4934543 +- 《现代x86汇编语言程序设计》: http://product.china-pub.com/5006762 +- 《深入理解程序设计:使用Linux汇编语言》: http://product.china-pub.com/3768972 +- 《代码的未来》: http://product.china-pub.com/3767536 + diff --git a/appendix/appendix-c-author.md b/appendix/appendix-c-author.md new file mode 100644 index 0000000..eed428e --- /dev/null +++ b/appendix/appendix-c-author.md @@ -0,0 +1,3 @@ +# 附录C:作者简介 + +- **[柴树杉(网络ID:chai2010)](https://github.com/chai2010)** 是国内第一批Go语言爱好者,创建了最早的QQ讨论组和golang-china邮件列表,组织 [Go语言官方文档](https://github.com/golang-china) 和 [《Go语言圣经》](https://github.com/golang-china/gopl-zh) 的翻译工作,**Go语言代码的贡献者**,并开源了诸多 [Go语言相关的资源](https://github.com/chai2010?language=go&tab=repositories&type=source) 。 diff --git a/appendix/readme.md b/appendix/readme.md new file mode 100644 index 0000000..89333c6 --- /dev/null +++ b/appendix/readme.md @@ -0,0 +1,3 @@ +# 附录 + +附录部分主要包含量三个部分:第一部分是摘录量一些Go语言常见的坑和解决方案;第二部分是参考网站和参考数目;第三部分是作者信息。 diff --git a/book.json b/book.json new file mode 100644 index 0000000..cfcd785 --- /dev/null +++ b/book.json @@ -0,0 +1,13 @@ +{ + "gitbook": "2.x", + "title": "Go语言高级编程", + "description": "Go语言高级编程", + "language": "zh-cn", + + "structure": { + "readme": "README.md" + }, + "plugins": [ + "-search" + ] +} diff --git a/ch1-basic/ch1-01-genesis.md b/ch1-basic/ch1-01-genesis.md new file mode 100644 index 0000000..1792bdf --- /dev/null +++ b/ch1-basic/ch1-01-genesis.md @@ -0,0 +1,56 @@ +# 1.1. Go语言创世纪 + +Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,设计新语言的最初的洪荒之力来自于对超级复杂的C++11特性的吹捧报告的鄙视,最终的目标是设计网络和多核时代的C语言。到2008年中期,语言的大部分特性设计已经完成,并开始着手实现编译器和运行时,大约在这一年Russ Cox作为主力开发者加入。到了2010年,Go语言已经逐步趋于稳定,并在9月正式发布Go语言并开源了代码。 + +![](../images/go-father.jpg) + +Go语言很多时候被描述为“类C语言”,或者是“21世纪的C语言”。从各种角度看,Go语言确实是从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等诸多编程思想,还有彻底继承和发扬了C语言简单直接的暴力编程哲学等。下面是《Go语言圣经》中给出的Go语言的基因图谱,我们可以从中看到有那些编程语言对Go语言产生了影响。 + +![](../images/go-family-tree.png) + +首先看基因图谱的左边一支。可以明确看出Go语言的并发特性是由贝尔实验室的Hoare于1978年发布的CSP理论演化而来。其后,CSP并发模型在Squeak/NewSqueak和Alef等编程语言中逐步完善并走向实际应用,最终这些设计经验被消化并吸收到了Go语言中。业界比较熟悉的Erlang编程语言的并发编程模型也是CSP理论的另一种实现。 + +再看基因图谱的中间一支。中间一支主要包含了Go语言中面向对象和包特性的演化历程。Go语言中包和接口以及面向对象等特性则继承自Niklaus Wirth所设计的Pascal语言以及其后所的衍生的相关编程语言。其中包的概念、包的导入和声明等语法主要来自于Modula-2编程语言,面向对象特性所提供的方法的声明语法等则来自于Oberon编程语言。最终Go语言演化出了自己特有的支持鸭子面向对象模型的隐式接口等诸多特性。 + +最后是基因图谱的右边一支,这是对C语言的致敬。Go语言是对C语言最彻底的一次扬弃,不仅仅是语法和C语言有着很多差异,最重要的是舍弃了C语言中灵活但是危险的指针运算。而且,Go语言还重新设计了C语言中部分不太合理运算符的优先级,并在很多细微的地方都做了必要的打磨和改变。当然,C语言中少即是多、简单直接的暴力编程哲学则被Go语言更彻底地发扬光大了(Go语言居然只有25个关键字,sepc语言规范还不到50页))。 + +Go语言的其它的一些特性零散地来自于其他一些编程语言;比如iota语法是从APL语言借鉴,词法作用域与嵌套函数等特性来自于Scheme语言(和其他很多编程语言)。Go语言中也有很多自己发明创新的设计。比如Go语言的切片为轻量级动态数组提供了有效的随机存取的性能,这可能会让人联想到链表的底层的共享机制。还有Go语言新发明的defer语句(Ken发明)也是神来之笔。 + +## 来自贝尔实验室特有基因 + +作为Go语言标志性的并发编程特性则来自于贝尔实验室的Tony Hoare于1978年发表鲜为外界所知的关于并发研究的基础文献:顺序通信进程( communicating sequential processes ,缩写为CSP)。在最初的CSP论文中,程序只是一组没有中间共享状态的平行运行的处理过程,它们之间使用管道进行通信和控制同步。Tony Hoare的CSP并发模型只是一个用于描述并发性基本概念的描述语言,它并不是一个可以编写可执行程序的通用编程语言。 + +CSP并发模型最经典的实际应用是来自爱立信发明的Erlang编程语言。不过在Erlang将CSP理论作为并发编程模型的同时,同样来自贝尔实验室的Rob Pike以及其同事也在不断尝试将CSP并发模型引入当时的新发明的编程语言中。他们第一次尝试引入CSP并发特性的编程语言叫Squeak(老鼠的叫声),是一个用于提供鼠标和键盘事件处理的编程语言,在这个语言中管道是静态创建的。然后是改进版的Newsqueak语言(新版老鼠的叫声),新提供了类似C语言语句和表达式的语法,还有类似Pascal语言的推导语法。Newsqueak是一个带垃圾回收的纯函数式语言,它再次针对键盘、鼠标和窗口事件管理。但是在Newsqueak语言中管道已经是动态创建的,管道属于第一类值、可以保存到变量中。然后是Alef编程语言(Alef也是C语言之父Ritchie比较喜爱的编程语言),Alef语言试图将Newsqueak语言改造为系统编程语言,但是因为缺少垃圾回收机制而导致并发编程很痛苦(这也是继承C语言手工管理内存的代价)。在Aelf语言之后还有一个叫Limbo的编程语言(地狱的意思),这是一个运行在虚拟机中的脚本语言。Limbo语言是Go语言最接近的祖先,它和Go语言有着最接近的语法。到设计Go语言时,Rob Pike在CSP并发编程模型的实践道路上已经积累了几十年的经验,关于Go语言并发编程的特性完全是信手拈来,新编程语言的到来也是水到渠成了。 + +可以从Go语言库早期代码库日志可以看出最直接的演化历程(Git用`git log --before={2008-03-03} --reverse`命令查看): + +![](../images/go-log04.png) + +从早期提交日志中也可以看出,Go语言是从Ken Thompson发明的B语言、Dennis M. Ritchie发明的C语言逐步演化过来的,它首先是C语言家族的成员,因此很多人将Go语言称为21世纪的C语言。 + +下面是Go语言中来自贝尔实验室特有并发编程基因的演化过程: + +![](../images/go-history.png) + +纵观整个贝尔实验室的编程语言的发展进程,从B语言、C语言、Newsqueak、Alef、Limbo语言一路走来,Go语言继承了来着贝尔实验室的半个世纪的软件设计基因,终于完成了C语言革新的使命。纵观这几年来的发展趋势,Go语言已经成为云计算、云存储时代最重要的基础编程语言。 + +## 你好, 世界 + +按照惯例,介绍所有编程语言的第一个程序都是“Hello, World!”。虽然本教假设读者已经了解了Go语言,但是我们还是不想打破这个惯例(因为这个传统正是从Go语言的前辈C语言传承而来的)。不过,Go语言的这个程序输出的是中文“你好, 世界!”。 + +```Go +package main + +import "fmt" + +func main() { + fmt.Println("你好, 世界!") +} +``` + +将以上代码保存到`hello.go`文件中。因为代码中有非ASCII的中文字符,我们需要将文件的编码显式指定为无BOM的UTF8编码格式(源文件采用UTF8编码是Go语言规范所要求的)。然后进入命令行并切换到`hello.go`文件所在的目录。目前我们可以将Go语言当作脚本语言,在命令行中直接输入`go run hello.go`来运行程序。如果一切正常的话。应该可以在命令行看到输出"你好, 世界!"的结果。 + +现在,让我们简单介绍一下程序。所有的Go程序,都是由最基本的函数和变量构成,函数和变量被组织到一个个Go源文件中,一个个Go源文件再被组织到一个个package中,最终这些package有机地组成一个完成的Go语言程序。其中,一个函数用于包含一系列的语句,指明要执行的操作序列,以及执行操作是存放数据的变量。我们这个程序中函数的名字是main。虽然Go语言中,函数的名字没有太多的限制,但是main包中的main函数默认是每一个可执行程序的入口。而package则用于包装和组织相关的函数、变量和常量。在使用一个package之前,我们需要使用import语句导入包。例如,我们这个程序中导入了fmt包(fmt是format单词的缩写,表示格式化相关的包),然后我们才可以使用fmt包中的Println函数。 + +而双引号包含的“你好, 世界!”则是Go语言的字符串面值常量。和C语言中的字符串不同,Go语言中的字符串内容是不可变更的。在以字符串作为参数传递给fmt.Println函数时,字符串的内容并没有被复制——传递的仅仅是字符串的地址和长度(字符串的结构在`reflect.StringHeader`中定义)。在Go语言中,函数参数的传递都是复制的方式,函数参数并不支持引用的方式传递(比较特殊的是,Go语言闭包函数对外部变量是以引用的方式使用)。 + diff --git a/ch1-basic/ch1-02-hello-revolution.md b/ch1-basic/ch1-02-hello-revolution.md new file mode 100644 index 0000000..75480d9 --- /dev/null +++ b/ch1-basic/ch1-02-hello-revolution.md @@ -0,0 +1,421 @@ +# 1.2. Hello, World 的革命 + +在创世纪章节中我们简单介绍了Go语言的演化基因族谱,对其中来自贝尔实验室特有并发编程基因做了重点介绍,最后引出了Go语言版的“Hello, World”程序。其实“Hello, World”程序是展示各种语言特性的最好的例子,是通向该语言的一个窗口。这一节我们就沿着各个编程语言演化的时间轴,简单回顾下“Hello, World”程序是如何逐步演化到目前的Go语言形式、最终完成“Hello, World”革命使命的。 + +![](../images/go-history.png) + +## B语言 - Ken Thompson, 1972 + +首先是B语言,B语言是Go语言之父贝尔实验室的Ken Thompson早年间开发的一种通用的程序设计语言,设计目的是为了用于辅助UNIX系统的开发。但是因为B语言缺乏灵活的类型系统导致使用比较困难。后来,Ken Thompson的同事丹尼斯·利奇以B语言为基础开发出C语言,C语言因为提供了丰富的类型,极大地增加了语言的表达能力。目前C语言依然是世界上最常用的程序语言之一。自从被C语言取代之后,B语言就已经成为了历史只存在于各种文献之中了。 + +目前,见到的B语言版本的“Hello World”一般认为是来自于Brian W. Kernighan编写的B语言入门教程(Go核心代码库中的第一个提交者名字正是Brian W. Kernighan),程序如下: + +```c +main() { + extrn a, b, c; + putchar(a); putchar(b); putchar(c); + putchar('!*n'); +} +a 'hell'; +b 'o, w'; +c 'orld'; +``` + +由于B语言缺乏灵活的数据类型,只能分别以`a/b/c`全局变量来定义要输出的内容,并且每个变量的长度必须对齐到了4个字节(有一种写汇编语言的感觉)。然后通过多次调用`putchar`函数输出字符,最后一个`'!*n'`表示输出一个换行的意思。 + +总体来说,B语言虽然简单,但是程序的功能也比较简陋。 + +## C语言 - Dennis Ritchie, 1974 ~ 1989 + +C语言是由Dennis Ritchie在B语言的基础上改进而来,C语言增加了丰富的数据类型,并最终实现了用C语言重写UNIX的伟大目标。C语言可以说是现代IT行业最重要的软件基石,目前最主流的操作系统几乎全部是由C语言开发的,许多基础系统软件也是C语言开发的。C系家族的编程语言占据统治地位达几十年之久,半个多世纪以来依然充满活力。 + +在Brian W. Kernighan于1974年左右编写的C语言入门教程中,出现了第一个C语言版本的“Hello World”程序。这给后来大部分编程语言教程都以“Hello World”为第一个程序提供了惯例。第一个C语言版本的“Hello World”程序如下: + +```c +main() +{ + printf("hello, world"); +} +``` + +关于这个程序,有几点需要说明的:首先是`main`函数因为没有明确返回值类型,默认返回`int`类型;其次`printf`函数默认不需要导入函数声明即可以使用;最后`main`没有明确返回语句也默认返回0值。在这个程序出现时,C语言还远未标准化,我们看到的是上古时代的C语言语法:函数不用写返回值,函数参数也可以忽略,使用printf时不需要包含头文件等。 + +这个例子同样出现在了1978年出版的《C程序设计语言》第一版中,作者正是Brian W. Kernighan 和 Dennis M. Ritchie(简称K&R)。书中的“Hello World”末尾增加了一个换行输出: + +```c +main() +{ + printf("hello, world\n"); +} +``` + +这个例子在字符串末尾增加了一个换行,C语言的`\n`换行比B语言的`'!*n'`换行看起来要简洁了一些。 + +在K&R的教程面世10年之后的1988年,《C程序设计语言》第二版终于出版了。此时ANSI C语言的标准化草案已经初步完成,但正式版本的文档尚未发布。不过书中的“Hello World”程序根据新的规范增加了`#include `头文件包含语句,用于包含`printf`函数的声明(新的C89标准中,仅仅是针对`printf`函数而言,依然可以不用声明函数而直接使用)。 + +```c +#include + +main() +{ + printf("hello, world\n"); +} +``` + +然后到了1989年,ANSI C语言第一个国际标准发布,一般被称为C89。C89是流行最广泛的一个C语言标准,目前依然被大量使用。《C程序设计语言》第二版的也再次印刷新版本,并针对新发布的C89规范建议,给`main`函数的参数增加了`void`输入参数说明,表示没有输入参数的意思。 + +```c +#include + +main(void) +{ + printf("hello, world\n"); +} +``` + +至此,C语言本身的进化基本完成。后面的C92/C99/C11都只是针对一些语言细节做了完善。因为各种历史因素,C89依然是使用最广泛的标准。 + + +## Newsqueak - Rob Pike, 1989 + +Newsqueak是Rob Pike发明的老鼠语言的第二代,是他用于实践CSP并发编程模型的战场。Newsqueak是新的squeak语言的意思,其中squeak是老鼠吱吱吱的叫声,也可以看作是类似鼠标点击的声音。Squeak是一个提供鼠标和键盘事件处理的编程语言,Squeak语言的管道是静态创建的。改进版的Newsqueak语言则提供了类似C语言语句和表达式的语法和类似Pascal语言的推导语法。Newsqueak是一个带自动垃圾回收的纯函数式语言,它再次针对键盘、鼠标和窗口事件管理。但是在Newsqueak语言中管道是动态创建的,属于第一类值,因此可以保存到变量中。 + +Newsqueak类似脚本语言,内置了一个`print`函数,它的“Hello World”程序看不出什么特色: + +```go +print("Hello,", "World", "\n"); +``` + +从上面的程序中,除了猜测`print`函数可以支持多个参数外,我们很难看到Newsqueak语言相关的特性。由于Newsqueak语言和Go语言相关的特性主要是并发和管道。因此,我们这里通过一个并发版本的“素数筛”算法来略窥Newsqueak语言的特性。“素数筛”的原理如图: + +![](../images/prime-sieve.png) + +Newsqueak语言并发版本的“素数筛”程序如下: + +```go +// 向管道输出从2开始的自然数序列 +counter := prog(c:chan of int) { + i := 2; + for(;;) { + c <-= i++; + } +}; + +// 针对listen管道获取的数列,过滤掉是prime倍数的数 +// 新的序列输出到send管道 +filter := prog(prime:int, listen, send:chan of int) { + i:int; + for(;;) { + if((i = <-listen)%prime) { + send <-= i; + } + } +}; + +// 主函数 +// 每个管道第一个流出的数必然是素数 +// 然后基于这个新的素数构建新的素数过滤器 +sieve := prog() of chan of int { + c := mk(chan of int); + begin counter(c); + prime := mk(chan of int); + begin prog(){ + p:int; + newc:chan of int; + for(;;){ + prime <-= p =<- c; + newc = mk(); + begin filter(p, c, newc); + c = newc; + } + }(); + become prime; +}; + +// 启动素数筛 +prime := sieve(); +``` + +其中`counter`函数用于向管道输出原始的自然数序列,每个`filter`函数对象则对应每一个新的素数过滤管道,这些素数过滤管道根据当前的素数筛子将输入管道流入的数列筛选后重新输出到输出管道。`mk(chan of int)`用于创建管道,类似Go语言的`make(chan int)`语句;`begin filter(p, c, newc)`关键字启动素数筛的并发体,类似Go语言的`go filter(p, c, newc)`语句;`become`用于返回函数结果,类似`return`语句。 + +Newsqueak语言中并发体和管道的语法和Go语言已经比较接近了,后置的类型声明和Go语言的语法也很相似。 + +## Alef - Phil Winterbottom, 1993 + +在Go语言出现之前,Alef语言是作者心中比较完美的并发语言,Alef语法和运行时基本是无缝兼容C语言。Alef语言中的对线程和进程的并发体都提供了支持,其中`proc receive(c)`用于启动一个进程,`task receive(c)`用于启动一个线程,它们之间通过管道`c`进行通讯。不过由于Alef缺乏内存自动回收机制,导致并发体的内存资源管理异常复杂。而且Alef语言只在Plan9系统中提供过短暂的支持,其它操作系统并没有实际可以运行的Alef开发环境。而且Alef语言只有《Alef语言规范》和《Alef编程向导》两个公开的文档,因此在贝尔实验室之外关于Alef语言的讨论并不多。 + +由于Alef语言同时支持进程和线程并发体,而且在并发体中可以再次启动更多的并发体,导致了Alef的并发状态会异常复杂。同时Alef没有自动垃圾回收机制(Alef因为保留的C语言灵活的指针特性,也导致了自动垃圾回收机制实现比较困难),各种资源充斥于不同的线程和进程之间,导致并发体的内存资源管理异常复杂。Alef语言全部继承了C语言的语法,可以认为是增强了并发语法的C语言。下图是Alef语言文档中展示的一个可能的并发体状态: + +![](../images/alef.png) + +Alef语言并发版本的“Hello World”程序如下: + +```c +#include + +void receive(chan(byte*) c) { + byte *s; + s = <- c; + print("%s\n", s); + terminate(nil); +} + +void main(void) { + chan(byte*) c; + alloc c; + proc receive(c); + task receive(c); + c <- = "hello proc or task"; + c <- = "hello proc or task"; + print("done\n"); + terminate(nil); +} +``` + +程序开头的`#include `语句用于包含Alef语言的运行时库。`receive`是一个普通函数,程序中用作每个并发体的入口函数;`main`函数中的`alloc c`语句先创建一个`chan(byte*)`类型的管道,类似Go语言的`make(chan []byte)`语句;然后分别启动以进程和线程的方式启动`receive`函数;启动并发体之后,`main`函数向`c`管道发送了两个字符串数据; 而进程和线程状态运行的`receive`函数会以不确定的顺序先后从管道收到数据后,然后分别打印字符串;最后每个并发体都通过调用`terminate(nil)`来结束自己。 + +Alef的语法和C语言基本保持一致,可以认为它是在C语言的语法基础上增加了并发编程相关的特性,可以看作是另一个维度的C++语言。 + +## Limbo - Sean Dorward, Phil Winterbottom, Rob Pike, 1995 + +Limbo(地狱)是用于开发运行在小型计算机上的分布式应用的编程语言,它支持模块化编程,编译期和运行时的强类型检查,进程内基于具有类型的通信管道,原子性垃圾收集和简单的抽象数据类型。Limbo被设计为:即便是在没有硬件内存保护的小型设备上,也能安全运行。Limbo语言主要运行在Inferno系统之上。 + +Limbo语言版本的“Hello World”程序如下: + +```go +implement Hello; + +include "sys.m"; sys: Sys; +include "draw.m"; + +Hello: module +{ + init: fn(ctxt: ref Draw->Context, args: list of string); +}; + +init(ctxt: ref Draw->Context, args: list of string) +{ + sys = load Sys Sys->PATH; + sys->print("hello, world\n"); +} +``` + +从这个版本的“Hello World”程序中,我们已经可以发现很多Go语言特性的雏形。第一句`implement Hello;`基本对应Go语言的`package Hello`包声明语句。然后是`include "sys.m"; sys: Sys;`和`include "draw.m";`语句用于导入其它的模块,类似Go语言的`import "sys"`和`import "draw"`语句。然后Hello包模块还提供了模块初始化函数`init`,并且函数的参数的类型也是后置的,不过Go语言的初始化函数是没有参数的。 + +## Go语言 - 2007~2009 + +贝尔实验室后来经历了多次动荡,包括Ken Thompson在内的Plan9项目原班人马最终加入了Google公司。在发明Limbo等前辈语言诞生10多年之后,在2007年底,Go语言三个最初作者因为偶然的因素聚集到一起批斗C++(传说是C++语言的布道师在Google公司到处鼓吹的C++11各种牛逼特性彻底惹恼了他们),他们终于抽出了20%的自由时间创造了Go语言。最初的Go语言规范从2008年3月开始编写,最初的Go程序也是直接编译到C语言然后再二次编译为机器码。到了2008年5月,Google公司的领导们终于发现了Go语言的巨大潜力,从而开始全力支持这个项目(Google的创始人甚至还贡献了`func`关键字),让他们可以将全部工作时间投入到Go语言的设计和开发中。在Go语言规范初版完成之后,Go语言的编译器终于可以直接生成机器码了。 + +### hello.go - 2008年6月 + +```go +package main + +func main() int { + print "hello, world\n"; + return 0; +} +``` + +这是初期Go语言程序正式开始测试的版本。其中内置的用于调试的`print`语句已经存在,不过是以命令的方式使用。入口`main`函数还和C语言中的`main`函数一样返回`int`类型的值,而且需要`return`显式地返回值。每个语句末尾的分号也还存在。 + +### hello.go - 2008年6月27日 + +```go +package main + +func main() { + print "hello, world\n"; +} +``` + +入口函数`main`已经去掉了返回值,程序默认通过隐式调用`exit(0)`来返回。Go语言朝着简单的方向逐步进化。 + +### hello.go - 2008年8月11日 + +```go +package main + +func main() { + print("hello, world\n"); +} +``` + +用于调试的内置的`print`由开始的命令改为普通的内置函数,使得语法更加简单一致。 + +### hello.go - 2008年10月24日 + +```go +package main + +import "fmt" + +func main() { + fmt.printf("hello, world\n"); +} +``` + +作为C语言中招牌的`printf`格式化函数已经移植了到了Go语言中,函数放在`fmt`包中(`fmt`是格式化单词`format`的缩写)。不过`printf`函数名的开头字母依然是小写字母,采用大写字母表示导出的特性还没有出现。 + +### hello.go - 2009年1月15日 + +```go +package main + +import "fmt" + +func main() { + fmt.Printf("hello, world\n"); +} +``` + +Go语言开始采用首字母的大小写来区分是否为导出符号。大写字母开头表示导出的公共符号,小写字母开头表示包内部的私有符号。国内用户需要注意的是,汉字中没有大小写字母的概念,因此以汉字开头的符号目前是无法导出的(针对问题中国用户已经给出相关建议,等Go2之后或许会调整对汉字的导出规则)。 + +### hello.go - 2009年12月11日 + +```go +package main + +import "fmt" + +func main() { + fmt.Printf("hello, world\n") +} +``` + +Go语言终于移除了语句末尾的分号。这是Go语言在2009年11月10号正式开源之后第一个比较重要的语法改进。从1978年C语言教程第一版引入的分号分割的规则到现在,Go语言的作者们花了整整32年终于移除了语句末尾的分号。在这32年的演化的过程中必然充满了各种八卦故事,我想这一定是Go语言设计者深思熟虑的结果(现在Swift等新的语言也是默认忽略分号的,可见分号确实并不是那么的重要)。 + +## CGO版本 + +Go语言开源初期就支持通过CGO和C语言保持交互。CGO通过导入一个虚拟的`"C"`包来访问C语言中的函数。下面是CGO版本的“Hello World”程序: + +```go +package main + +// #include +// #include +import "C" +import "unsafe" + +func main() { + msg := C.CString("Hello, World!\n") + defer C.free(unsafe.Pointer(msg)) + + C.fputs(msg, C.stdout) +} +``` + +先通过`C.CString`函数将Go语言字符串转为C语言字符串,然后调用C语言的`C.fputs`函数向标准输出窗口打印转换后的C字符串。`defer`延迟语句保证程序返回前通过`C.free`释放分配的C字符串。需要注意的是, CGO不支持C语言中的可变参数函数(因为Go语言每次函数调用的栈帧大小是固定的,而且Go语言中可变参数语法只是切片的一个语法糖而已),因此在Go语言中是无法通过CGO访问C语言的`printf`等可变参数函数的。同时,CGO只能访问C语言的函数、变量和简单的宏定义常量,CGO并不支持访问C++语言的符号(C++和C语言符号的名字修饰规则不同,CGO采用C语言的名字修饰规则)。 + +其实CGO不仅仅用于Go语言中调用C语言函数,还可以用于导出Go语言函数给C语言函数调用。在用Go语言编写生成C静态库或C动态库时,也可以用CGO导出对应的接口函数。正是CGO的存在,才保证了Go语言和C语言资源的双向互通,同时保证了Go语言可以继承C语言已有的庞大的软件资产。 + +## SWIG版本 + +Go语言开源初期除了支持通过CGO访问C语言资源外,还支持通过SWIG访问C/C++接口。SWIG是从2010年10月04日发布的SWIG-2.0.1版本开始正式支持Go语言的。可以将SWIG看作一个高级的CGO代码自动生成器,同时通过生成C语言桥接代码增加了对C++类的支持。下面是SWIG版本的"Hello World"程序: + +首先是创建一个`hello.cc`文件,里面有`SayHello`函数用于打印(这里的`SayHello`函数采用C++的名字修饰规则): + +```c++ +#include + +void SayHello() { + std::cout << "Hello, World!" << std::endl; +} +``` + +然后创建一个`hello.swigcxx`文件,以SWIG语法导出上面的C++函数`SayHello`: + +```swig +%module main + +%inline %{ +extern void SayHello(); +%} +``` + +然后在Go语言中直接访问`SayHello`函数(首字母自动转为大写字母): + +```go +package main + +import ( + hello "." +) + +func main() { + hello.SayHello() +} +``` + +需要将上述3个文件放到同一个目录中,并且`hello.swigcxx`和Go文件对应同一个包。系统除了需要安装Go语言环境外,还需要安装对应版本的SWIG工具。最后运行`go build`就可以构建了。 + +*注: 在Windows系统下, 路径最长为260个字符. 这个程序生成的中间cgo文件可能导致某些文件的绝对路径长度超出Windows系统限制, 可能导致程序构建失败. 这是由于`go build`调用swig和cgo等命令生成中间文件时生成的不合适的超长文件名导致(作者提交ISSUE3358,Go1.8已经修复)。* + +## Go汇编语言版本 + +Go语言底层使用了自己独有的跨操作系统汇编语言,该汇编语言是从Plan9系统的汇编语言演化而来。Go汇编语言并不能独立使用,它是属于Go语言的一个组成部分,必须以Go语言包的方式被组织。下面是Go汇编语言版本的“Hello World”程序: + +先创建一个`main.go`文件,以Go语言的语法声明包和声明汇编语言对应的函数签名,函数签名不能有函数体: + +```go +package main + +func main() +``` + +然后创建`main_amd64.s`文件,对应Go汇编语言实现AMD64架构的`main`函数: + +```asm +#include "textflag.h" +#include "funcdata.h" + +// "Hello World!\n" +DATA text<>+0(SB)/8,$"Hello Wo" +DATA text<>+8(SB)/8,$"rld!\n" +GLOBL text<>(SB),NOPTR,$16 + +// func main() +TEXT ·main(SB), $16-0 + NO_LOCAL_POINTERS + MOVQ $text<>+0(SB), AX + MOVQ AX, (SP) + MOVQ $16, 8(SP) + CALL runtime·printstring(SB) + RET +``` + +代码中`#include "textflag.h"`语句包含运行时库定义的头文件, 里面含有`NOPTR`/`NO_LOCAL_POINTERS`等基本的宏的定义。`DATA`汇编指令用于定义数据,每个数据的宽度必须是1/2/4/8,然后`GLOBL`汇编命令在当前文件内导出`text`变量符号。`TEXT ·main(SB), $16-0`用于定义`main`函数,其中`$16-0`表示`mian`函数的帧大小是16个字节(对应string头的大小,用于给`runtime·printstring`函数传递参数),`0`表示`main`函数没有参数和返回值。`main`函数内部通过调用运行时内部的`runtime·printstring(SB)`函数来打印字符串。 + +Go汇编语言虽然针对每种CPU架构(主要有386/AMD64/ARM/ARM64等)有对应的指令和寄存器,但是汇编语言的基本语法和函数调用规范是一致的,不同操作系统之间用法是一致的。在Go语言标准库中,`runtime`运行时库、`math`数学库和`crypto`密码相关的函数很多是采用汇编语言实现的。其中`runtime`运行时库中采用部分汇编语言并不完全是为了性能,而是运行时的某些特性功能(比如goroutine上下文的切换等)无法用纯Go实现,因此需要汇编代码实现某些辅助功能。对于普通用户而言,Go汇编语言的最大价值在于性能的优化,对于性能比较关键的地方,可以尝试用Go汇编语言实现终极优化。 + + +## 你好, 世界! - V2.0 + +在经过半个世纪的涅槃重生之后,Go语言不仅仅打印Unicode版本的“Hello, World”,而且可以方便地向全球用户提供打印服务。下面版本通过`http`服务向每个访问的客户端打印中文的“你好, 世界!”和当前的时间信息。 + +```go +package main + +import ( + "fmt" + "log" + "net/http" + "time" +) + +func main() { + fmt.Println("Please visit http://127.0.0.1:12345/") + http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { + s := fmt.Sprintf("你好, 世界! -- Time: %s", time.Now().String()) + fmt.Fprintf(w, "%v\n", s) + log.Printf("%v\n", s) + }) + if err := http.ListenAndServe(":12345", nil); err != nil { + log.Fatal("ListenAndServe: ", err) + } +} +``` + +我们通过Go语言标准库自带的`net/http`包构造了一个独立运行的http服务。其中`http.HandleFunc("/", ...)`针对`/`根路径请求注册了响应处理函数。在响应处理函数中,我们依然使用`fmt.Fprintf`格式化输出函数实现了通过http协议向请求的客户端打印格式化的字符串,同时通过标准库的日志包在服务器端也打印相关字符串。最后通过`http.ListenAndServe`函数调用来启动http服务。 + +至此,Go语言终于完成了从单机单核时代的C语言到21世纪互联网时代多核环境的通用编程语言的蜕变。 diff --git a/ch1-basic/ch1-03-array-string-and-slice.md b/ch1-basic/ch1-03-array-string-and-slice.md new file mode 100644 index 0000000..f8ed9a0 --- /dev/null +++ b/ch1-basic/ch1-03-array-string-and-slice.md @@ -0,0 +1,611 @@ +# 1.3. 数组、字符串和切片 + +在主流的编程语言中数组和数组相关的数据结构是使用最频繁的数据类型,只有在数组结构不能满足时才会考虑链表、hash表(hash表可以看作是数组和链表的混合体)和更复杂的自定义数据结构。 + +在Go语言中数组、字符串和切片三者是密切相关的数据结构。三个数据类型的底层原始数据有着相同的内存结构,但是因为上层语法的限制而导致有着不同的行为。首先,Go语言的数组是一种值类型,虽然数组的元素可以被修改,但是数组本身的赋值和函数传参数都是整体复制的方式处理的。Go语言字符串底层数据也是对应字节数组,但是字符串只读属性禁止在程序中修改底层字节数组的元素,字符串赋值并不会导致复制底层的数据,只是复制字符串底层数据地址和对应的长度。而切片的行为更为灵活,切片的结构和字符串结构类似,但是解除了字符串只读的限制。切片的底层数据虽然也是对应数据类型的数组,但是每个切片还有独立的长度和容量信息,切片赋值和函数传参数时也是以切片头信息部分传值方式处理。因为切片头含有底层数据在指针,切片的赋值也不会导致底层数据的复制操作。其实Go语言的赋值和函数传参规则很简单,除了通过闭包函数对外部变量是以引用的方式访问之外,其它赋值和函数传参数都是以传值的方式处理。要理解数组、字符串和切片三种不同的处理方式的原因需要详细了解它们的底层数据结构。 + +## 数组 + +数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。数组的长度是数组类型的组成部分。因为数组的长度是数组类型的一个部分,不同长度或不同类型的数据组成的数组都是不同的类型,因此在Go语言中很少直接使用数组(不同长度的数组无法因为类型不同无法直接赋值)。和数组对应的类型是切片,切片是可以动态增长和收缩的序列,切片的功能也更加灵活,但是要理解切片的工作原理还是要先理解数组。 + +我们先看看数组有哪些定义方式: + +```go +var a [3]int // 定义一个长度为3的int类型数组, 元素全部为0 +var b = [...]int{1, 2, 3} // 定义一个长度为3的int类型数组, 元素为 1, 2, 3 +var c = [...]int{2: 3, 1: 2} // 定义一个长度为3的int类型数组, 元素为 0, 2, 3 +var d = [...]int{1, 2, 4: 5, 6} // 定义一个长度为6的int类型数组, 元素为 1, 2, 0, 0, 5, 6 +``` + +第一种方式是定义一个数组变量的最基本的方式,数组的长度明确指定,数组中的每个元素都以零值初始化。 + +第二种方式定义数组,可以在定义的时候顺序指定全部元素的初始化值,数组的长度根据初始化元素的数目自动计算。 + +第三种方式是以索引的方式来初始化数组的元素,因此元素的初始化值出现顺序比较随意。这种初始化方式和`map[int]Type`类型的初始化语法类似。数组的长度以出现的最大的索引为准,没有明确初始化的元素依然用0值初始化。 + +第四种方式是混合了第二种和第三种的初始化方式,前面两个元素采用顺序初始化,第三第四个元素零值初始化,第五个元素通过索引初始化,最后一个元素跟在前面的第五个元素之后采用顺序初始化。 + +数组的内存结构比较简单。比如下面是一个`[4]int{2,3,5,7}`数组值对应的内存结构: + +![](../images/array-4int.png) + +Go语言中数组是值语义。一个数组变量即表示整个数组,它并不是隐式的指向第一个元素的指针(比如C语言的数组),而是一个完整的值。当一个数组变量被赋值或者被传递的时候,实际上会复制整个数组。如果数组较大的话,数组的赋值也会有较大的开销。为了避免复制数组带来的开销,可以传递一个指向数组的指针,但是数组指针并不是数组。 + +```go +var a = [...]int{1, 2, 3} // a 是一个数组 +var b = &a // b 是指向数组的指针 + +fmt.Println(a[0], a[1]) // 打印数组的前2个元素 +fmt.Println(b[0], b[1]) // 通过数组指针访问数组元素的方式和数组类似 + +for i, v := range b { // 通过数组指针迭代数组的元素 + fmt.Println(i, v) +} +``` + +其中`b`是指向`a`数组的指针,但是通过`b`访问数组中元素的写法和`a`类似的。还可以通过`for range`来迭代数组指针指向的数组元素。其实数组指针类型除了类型和数组不同之外,通过数组指针操作数组的方式和通过数组本身的操作类似,而且数组指针赋值时只会拷贝一个指针。但是数组指针类型依然不够灵活,因为数组的长度是数组类型的组成部分,指向不同长度数组的数组指针类型也是完全不同的。 + +可以将数组看作一个特殊的结构体,结构的字段名对应数组的索引,同时结构体成员的数目是固定的。内置函数`len`可以用于计算数组的长度,`cap`函数可以用于计算数组的容量。不过对于数组类型来说,`len`和`cap`函数返回的结果始终是一样的,都是对应数组类型的长度。 + +我们可以用`for`循环来迭代数组。下面常见的几种方式都可以用来遍历数组: + +```go + for i := range a { + fmt.Printf("b[%d]: %d\n", i, b[i]) + } + for i, v := range b { + fmt.Printf("b[%d]: %d\n", i, v) + } + for i := 0; i < len(c); i++ { + fmt.Printf("b[%d]: %d\n", i, b[i]) + } +``` + +用`for range`方式迭代的性能可能会更好一些,因为这种迭代可以保证不会出现数组越界的情形,每轮迭代对数组元素的访问时可以省去对下标越界的判断。 + +用`for range`方式迭代,还可以忽略迭代时的下标: + +```go + var times [5][0]int + for range times { + fmt.Println("hello") + } +``` + +其中`times`对应一个`[5][0]int`类型的数组,虽然第一维数组有长度,但是数组的元素`[0]int`大小是0,因此整个数组占用的内存大小依然是0。没有付出额外的内存代价,我们就通过`for range`方式实现了`times`次快速迭代。 + +数组不仅仅可以用于数值类型,还可以定义字符串数组、结构体数组、函数数组、接口数组、管道数组等等: + +```go +// 字符串数组 +var s1 = [2]string{"hello", "world"} +var s2 = [...]string{"你好", "世界"} +var s3 = [...]string{1: "世界", 0: "你好", } + +// 结构体数组 +var line1 [2]image.Point +var line2 = [...]image.Point{image.Point{X: 0, Y: 0}, image.Point{X: 1, Y: 1}} +var line3 = [...]image.Point{{0, 0}, {1, 1}} + +// 图像解码器数组 +var decoder1 [2]func(io.Reader) (image.Image, error) +var decoder2 = [...]func(io.Reader) (image.Image, error){ + png.Decode, + jpeg.Decode, +} + +// 接口数组 +var unknown1 [2]interface{} +var unknown2 = [...]interface{}{123, "你好"} + +// 管道数组 +var chanList = [2]chan int{} +``` + +我们还可以定义一个空的数组: + +```go +var d [0]int // 定义一个长度为0的数组 +var e = [0]int{} // 定义一个长度为0的数组 +var f = [...]int{} // 定义一个长度为0的数组 +``` + +长度为0的数组在内存中并不占用空间。空数组虽然很少直接使用,但是可以用于强调某种特有类型的操作时避免分配额外的内存空间,比如用于管道的同步操作: + +```go + c1 := make(chan [0]int) + go func() { + fmt.Println("c1") + c1 <- [0]int{} + }() + <-c1 +``` + +在这里,我们并不关心管道中传输数据的真实类型,其中管道接收和发送操作只是用于消息的同步。对于这种场景,我们用空数组来作为管道类型可以减少管道元素赋值时的开销。当然一般更倾向与用无类型的匿名结构体代替: + +```go + c2 := make(chan struct{}) + go func() { + fmt.Println("c2") + c2 <- struct{}{} // struct{}部分是类型, {}表示对应的结构体值 + }() + <-c2 +``` + +我们可以用`fmt.Printf`函数提供的`%T`或`%#v`谓词语法来打印数组的类型和详细信息: + +```go + fmt.Printf("b: %T\n", b) // b: [3]int + fmt.Printf("b: %#v\n", b) // b: [3]int{1, 2, 3} +``` + +在Go语言中,数组类型是切片和字符串等结构的基础。以上数组的很多操作都可以直接用于字符串或切片中。 + +## 字符串 + +一个字符串是一个不可改变的字节序列,字符串通常是用来包含人类可读的文本数据。和数组不同的是,字符串的元素不可修改,是一个只读的字节数组。每个字符串的长度虽然也是固定的,但是字符串的长度并不是字符串类型的一部分。由于Go语言的源代码要求是UTF8编码,导致Go源代码中出现的字符串面值常量一般也是UTF8编码的。源代码中的文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列。因为字节序列对应的是只读的字节序列,因此字符串可以包含任意的数据,包括byte值0。我们也可以用字符串表示GBK等非UTF8编码的数据,不过这种时候将字符串看作是一个只读的二进制数组更准确,因为`for range`等语法并不能支持非UTF8编码的字符串的遍历。 + +Go语言字符串的底层结构在`reflect.StringHeader`中定义: + +```go +type StringHeader struct { + Data uintptr + Len int +} +``` + +字符串结构有两个信息组成:第一个是字符串指向的底层字节数据,第二个是字符串的字节长度。字符串其实是一个结构体,因此字符串的赋值操作也就是`reflect.StringHeader`结构体的复制过程,并不会涉及底层字节数组的复制。在前面数组一节提到的`[2]string`字符串数组对应的底层结构和`[2]reflect.StringHeader`对应的底层结构是一样的,可以将字符串数组看作一个结构体数组。 + +我们可以看看字符串“Hello, world”本身对应的内存结构: + +![](../images/string-1.png) + +分析可以发现,“Hello, world”字符串底层数据和以下数组是完全一致的: + +```go +var data = [...]byte{'h', 'e', 'l', 'l', 'o', ',' ' ', 'w', 'o', 'r', 'l', 'd'} +``` + +字符串虽然不是切片,但是支持切片操作,不同位置的切片底层也访问的同一块内存数据(因为字符串是只读的,相同的字符串面值常量通常是对应同一个字符串常量): + +```go +s := "hello, world" +hello := s[:5] +world := s[7:] + +s1 := "hello, world"[:5] +s2 := "hello, world"[7:] +``` + +和数组一样,内置的`len`和`cap`函数返回相同的结果,都对应字符串的长度。也可以通过`reflect.StringHeader`结构访问字符串的长度(这里只是为了演示字符串的结构,并不是推荐的做法): + +```go +fmt.Println("len(s):", (*reflect.StringHeader)(unsafe.Pointer(&s)).Len) // 12 +fmt.Println("len(s1):", (*reflect.StringHeader)(unsafe.Pointer(&s1)).Len) // 5 +fmt.Println("len(s2):", (*reflect.StringHeader)(unsafe.Pointer(&s2)).Len) // 5 +``` + +根据Go语言规范,Go语言的源文件都是采用UTF8编码。因此,Go源文件中出现的字符串面值常量一般也是UTF8编码的(对于转义字符,则没有这个限制)。提到Go字符串时,我们一般都会假设字符串对应的是一个合法的UTF8编码的字符序列。可以用内置的`print`调试函数或`fmt.Print`函数直接打印,也可以用`for range`循环直接遍历UTF8解码后的UNICODE码点值。 + +下面的“Hello, 世界”字符串中包含了中文字符,可以通过打印转型为字节类型来查看字符底层对应的数据: + +```go +fmt.Printf("%#v\n", []byte("Hello, 世界")) +``` + +输出的结果是: + +```go +[]byte{0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0xe4, 0xb8, 0x96, 0xe7, 0x95, 0x8c} +``` + +分析可以发现`0xe4, 0xb8, 0x96`对应中文“世”,`0xe7, 0x95, 0x8c`对应中文“界”。我们也可以在字符串面值中直指定UTF8编码后的值(源文件中全部是ASCII码,可以避免出现多字节的字符)。 + +```go +fmt.Println("\xe4\xb8\x96") // 打印: 世 +fmt.Println("\xe7\x95\x8c") // 打印: 界 +``` + +下图展示了“Hello, 世界”字符串的内存结构布局: + +![](../images/string-2.png) + +Go语言的字符串中可以存放任意的二进制字节序列,而且即是是UTF8字符序列也可能会遇到坏的编码。如果遇到一个错误的UTF8编码输入,将生成一个特别的UNICODE字符‘\uFFFD’,这个字符在不同的软件中的显示效果可能不太一样,在印刷中这个符号通常是一个黑色六角形或钻石形状,里面包含一个白色的问号‘�’。 + +下面的字符串中,我们故意损坏了第一字符的第二和第三字节,因此第一字符将会打印为“�”,第二和第三字节则被忽略,后面的“abc”依然可以正常解码打印(错误编码不会向前扩散是UTF8编码的优秀特性之一)。 + +```go +fmt.Println("\xe4\x00\x00\xe7\x95\x8cabc") // �界abc +``` + +不过在`for range`迭代这个含有损坏的UTF8字符串时,第一字符的第二和第三字节依然会被单独迭代到,不过此时迭代的值是损坏后的0: + +```go +for i, c := range "\xe4\x00\x00\xe7\x95\x8cabc" { + fmt.Println(i, c) +} +// 0 65533 // \uFFFD, 对应 � +// 1 0 // 空字符 +// 2 0 // 空字符 +// 3 30028 // 界 +// 6 97 // a +// 7 98 // b +// 8 99 // c +``` + +如果不想解码UTF8字符串,想直接遍历原始的字节码,可以将字符串强制转为`[]byte`字节序列后再行遍历(这里的转换一般不会产生运行时开销): + +```go +for i, c := range []byte("世界abc") { + fmt.Println(i, c) +} +``` + +或者是采用传统的下标方式遍历字符串的字节数组: + +```go +const s = "\xe4\x00\x00\xe7\x95\x8cabc" +for i := 0; i < len(s); i++ { + fmt.Printf("%d %x\n", i, s[i]) +} +``` + +Go语言除了`for range`语法对UTF8字符串提供了特殊支持外,还对字符串和`[]rune`类型的相互转换提供了特殊的支持。 + +```go +fmt.Printf("%#v\n", []rune("Hello, 世界")) // []int32{19990, 30028} +fmt.Printf("%#v\n", string([]rune{'世', '界'})) // 世界 +``` + +从上面代码的输出结果看,我们可以发现`[]rune`其实是`[]int32`类型,这里的`rune`只是`int32`类型的别名,并不是重新定义的类型。`rune`用于表示每个UNICODE码点,目前只使用了21个bit位。 + +字符串相关的强制类型转换主要涉及到`[]byte`和`[]rune`两种类型。每个转换都可能隐含重新分配内存的代价,最坏的情况下它们的运算时间复杂度都是`O(n)`。不过字符串和`[]rune`的转换要更为特殊一些,因为一般这种强制类型转换要求两个类型的底层内存结构要尽量一致,显然它们底层对应的`[]byte`和`[]int32`类型是完全不同的内部布局,因此这种转换可能隐含重新分配内存的操作。 + +下面分别用伪代码简单模拟Go语言对字符串内置的一些操作,这样对每个操作的处理的时间复杂度和空间复杂度都会有较明确的认识。 + +**`for range`对字符串的迭代模拟实现** + +```go +func forOnString(s string, forBody func(i int, r rune)) { + for i := 0; len(s) > 0; { + r, size := utf8.DecodeRuneInString(str) + forBody(i, r) + s = s[size:] + i += size + } +} +``` + +`for range`迭代字符串时,每次解码一个UNICODE字符,然后进入`for`循环体,遇到崩坏的编码并不会导致迭代停止。 + +**`[]byte(s)`转换模拟实现** + +```go +func str2bytes(s []byte) []bytes { + p := make([]byte, len(s)) + for i, c := []byte(s) { + p[i] = c + } + return p +} +``` + +模拟实现中新创建了一个切片,然后将字符串的数组逐一复制到了切片中,这是为了保证字符串只读的语义。当然,在将字符串转为`[]byte`时,如果转换后的变量并没有被修改的情形,编译器可能会直接返回原始的字符串对应的底层数据。 + +**`string(bytes)`转换模拟实现** + +```go +func bytes2str(s []byte) (p string) { + data := make([]byte, len(s)) + for i, c := s { + p[i] = c + } + + hdr := (*reflect.StringHeader)(unsafe.Pointer(&p)) + hdr.Data = uintptr(unsafe.Pointer(&data[0])) + hdr.Len = len(s) + + return p +} +``` + +因为Go语言的字符串是只读的,无法直接同构构造底层字节数组生成字符串。在模拟实现中通过`unsafe`包获取了字符串的底层数据结构,然后将切片的数据逐一复制到了字符串中,这同样是为了保证字符串只读的语义不会收切片的影响。如果转换后的字符串在生命周期中原始的`[]byte`的变量并不会发生变化,编译器可能会直接基于`[]byte`底层的数据构建字符串。 + +**`[]rune(s)`转换模拟实现** + +```go +func str2runes(s []byte) []rune { + var p []int32 + for len(s) > 0 { + r, size := utf8.DecodeRuneInString(s) + p = append(p, r) + s = s[size:] + } + return []rune(p) +} +``` + +因为底层内存结构的差异,字符串到`[]rune`的转换必然会导致重新分配`[]rune`内存空间,然后依次解码并复制对应的UNICODE码点值。这种强制转换并不存在前面提到的字符串和字节切片转化时的优化情况。 + +**`string(runes)`转换模拟实现** + +```go +func runes2string(s []int32) string { + var p []byte + buf := make([]byte, 3) + for _, r := range { + n := utf8.EncodeRune(buf, r) + p = append(p, buf[:n]) + } + return string(p) +} +``` + +同样因为底层内存结构的差异,`[]rune`到字符串的转换也必然会导致重新构造字符串。这种强制转换并不存在前面提到的优化情况。 + +## 切片(slice) + +简单地说,切片就是一种简化版的动态数组。因为动态数组的长度是不固定,切片的长度自然也就不能是类型的组成部分了。数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因此在Go代码中数组使用的并不多。而切片则使用得相当广泛,理解切片的原理和用法是一个Go程序员的必备技能。 + +我们先看看切片的结构定义,`reflect.SliceHeader`: + +```go +type SliceHeader struct { + Data uintptr + Len int + Cap int +} +``` + +可以看出切片的开头部分和Go字符串是一样的,但是切片多了一个`Cap`成员表示切片指向的内存空间的最大容量(对应元素的个数,而不是字节数)。下图是`x := []int{2,3,5,7,11}`和`y := x[1:3]`两个切片对应的内存结构。 + +![](../images/slice-1.png) + +让我们看看切片有哪些定义方式: + +```go +var ( + a []int // 空切片, 和 nil 相等 + b = []int{} // 空切片, 和 nil 相等 + c = []int{1, 2, 3} // 有3个元素的切片, len和cap都为3 + d = c[:2] // 有2个元素的切片, len为2, cap为3 + e = c[0:2:cap(c)] // 有2个元素的切片, len为2, cap为3 + f = c[:0] // 有0个元素的切片, len为0, cap为3 + g = make([]int, 3) // 有3个元素的切片, len和cap都为3 + h = make([]int, 2, 3) // 有2个元素的切片, len为2, cap为3 + i = make([]int, 0, 3) // 有0个元素的切片, len为0, cap为3 +) +``` + +和数组一样,内置的`len`函数返回切片中有效元素的长度,内置的`cap`函数返回切片容量大小,容量必须大于或等于切片的长度。也可以通过`reflect.SliceHeader`结构访问切片的信息(只是为了说明字符串的结构,并不是推荐的做法)。切片可以和`nil`进行比较,只有当切片底层数据指针为空时切片本身为`nil`,这时候切片的长度和容量信息将是无效的。如果有切片的底层数据指针为空,但是长度和容量不为0的情况,那么说明切片本身已经被损坏了(比如直接通过`reflect.SliceHeader`或`unsafe`包对切片作了不正确的修改)。 + +遍历切片的方式和遍历数组的方式类似: + +```go + for i := range a { + fmt.Printf("b[%d]: %d\n", i, a[i]) + } + for i, v := range b { + fmt.Printf("b[%d]: %d\n", i, v) + } + for i := 0; i < len(c); i++ { + fmt.Printf("b[%d]: %d\n", i, c[i]) + } +``` + +其实除了遍历之外,只要是切片的底层数据指针、长度和容量没有发生变化的话,对切片的遍历、元素的读取和修改都和数组是一样的。在对切片本身赋值或参数传递时,和数组指针的操作方式类似,只是复制切片头信息(`reflect.SliceHeader`),并不会复制底层的数据。对于类型,和数组的最大不同是,切片的类型和长度信息无关,只要是相同类型元素构成的切片均对应相同的切片类型。 + +如前所说,切片是一种简化版的动态数组,这是切片类型的灵魂。除了构造切片和遍历切片之外,添加切片元素、删除切片元素都是切片处理中经常遇到的问题。 + + +**添加切片元素** + +内置的泛型函数`append`可以在切片的尾部追加`N`个元素: + +```go +var a []int +a = append(a, 1) // 追加1个元素 +a = append(a, 1, 2, 3) // 追加多个元素, 手写解包方式 +a = append(a, []int{1,2,3}...) // 追加一个切片, 切片需要解包 +``` + +不过要注意的是,在容量不足的情况下,`append`的操作会导致重新分配内存,从而导致巨大的内存分配和复制数据代价。即使容量足够,依然需要用`append`函数的返回值来更新切片本身,因为新切片的长度已经发生了变化。 + +除了在切片的尾部追加,我们还可以在切片的开头添加元素: + +```go +var a = []int{1,2,3} +a = append([]int{0}, a...) // 在开头添加1个元素 +a = append([]int{-3,-2,-1}, a...) // 在开头添加1个切片 +``` + +在开头一般都会导致内存的重新分配,而且会导致已有的元素全部复制1次。因此,从切片的开头添加元素的性能一般要比从尾部追加元素的性能差很多。 + +由于`append`函数返回新的切片,也就是它支持链式操作。我们可以将多个`append`操作组合起来,实现在切片中间插入元素: + +```go +var a []int +a = append(a[:i], append([]int{x}, a[i:]...)...) // 在第i个位置插入x +a = append(a[:i], append([]int{1,2,3}, a[i:]...)...) // 在第i个位置插入切片 +``` + +每个添加操作中的第二个`append`调用都会创建一个临时切片,并将`a[i:]`的内容复制到新创建的切片中,然后将临时创建的切片再追加到`a[:i]`。 + +可以用`copy`和`append`组合可以避免创建中间的临时切片,同样是完成添加元素的操作: + +```go +a = append(a, 0) // 切片扩展1个空间 +copy(a[i+1:], a[i:]) // a[i:]向后移动1个位置 +s[i] = x // 设置新添加的元素 +``` + +第一句`append`用于扩展切片的长度,为要插入的元素留出空间。第二句`copy`操作将要插入位置开始之后的元素向后挪动一个位置。第三句真实地将新添加的元素赋值到对应的位置。操作语句虽然冗长了一点,但是相比前面的方法,可以减少中间创建的临时切片。 + +用`copy`和`append`组合也可以实现在中间位置插入多个元素(也就是插入一个切片): + +```go +a = append(a, x...) // 为x切片扩展足够的空间 +copy(a[i+len(x):], a[i:]) // a[i:]向后移动len(x)个位置 +copy(a[i:], x) // 复制新添加的切片 +``` + +稍显不足的是,在第一句扩展切片容量的时候,扩展空间部分的元素复制是没有必要的。并没专门有内置的函数用于扩展切片的容量,`append`本质是用于追加元素而不是扩展容量,扩展切片容量只是`append`的一个副作用。 + +**删除切片元素** + +根据要删除元素的位置有三种类型:从开头位置删除,从中间位置删除,从尾部删除。其中删除切片尾部的元素最快: + +```go +a = []int{1, 2, 3} +a = a[:len(a)-1] // 删除尾部1个元素 +a = a[:len(a)-N] // 删除尾部N个元素 +``` + +删除开头的元素需要对剩余的元素进行一次整体挪动,可以用`append`原地完成(所谓原地完成是指在原有的切片数据对应的内存区间内完成,不会导致内存空间结构的变化): + +```go +a = []int{1, 2, 3} +a = append(a[:0], a[1:]...) // 删除开头1个元素 +a = append(a[:0], a[N:]...) // 删除开头N个元素 +``` + +也可以用`copy`完成删除开头的元素: + +```go +a = []int{1, 2, 3} +a = a[:copy(a, a[1:])] // 删除开头1个元素 +a = a[:copy(a, a[N:])] // 删除开头N个元素 +``` + +对于删除中间的元素,需要对剩余的元素进行一次整体挪动,同样可以用`append`或`copy`原地完成: + +```go +a = []int{1, 2, 3, ...} + +a = append(a[:i], a[i+1:]...) // 删除中间1个元素 +a = append(a[:i], a[i+N:]...) // 删除中间N个元素 + +a = a[:copy(a[i:], a[i+1:])] // 删除中间1个元素 +a = a[:copy(a[i:], a[i+N:])] // 删除中间N个元素 +``` + +删除开头的元素和删除尾部的元素都可以认为是删除中间元素操作的特殊情况。 + +**切片内存技巧** + +在本节开头的数组部分我们提到过有类似`[0]int`的空数组,空数组一般很少用到。但是对于切片来说,`len`为`0`但是`cap`容量不为`0`的切片则是非常有用的特性。当然,如果`len`和`cap`都为`0`的话,则变成一个真正的空切片,虽然它并不是一个`nil`值的切片。在判断一个切片是否为空时,一般通过`len`获取切片的长度来判断,一般很少将切片和`nil`值做直接的比较。 + +比如下面的`TrimSpace`函数用于删除`[]byte`中的空格。函数实现利用了0长切片的特性,实现高效而且简洁。 + + +```go +func TrimSpace(s []byte) []byte { + b := s[:0] + for _, x := range s { + if x != ' ' { + b = append(b, x) + } + } + return b +} +``` + +其实类似的根据过滤条件原地删除切片元素的算法都可以采用类似的方式处理(因为是删除操作不会出现内存不足的情形): + +```go +func Filter(s []byte, fn func(x byte) bool) []byte { + b := s[:0] + for _, x := range s { + if !fn(x) { + b = append(b, x) + } + } + return b +} +``` + +切片高效操作的要点是要降低内存分配的次数,尽量保证`append`操作不会超出`cap`的容量,降低触发内存分配的次数和每次分配内存大小。 + + +**避免切片内存泄漏** + +如前面所说,切片操作并不会复制底层的数据。底层的数组会被保存在内存中,直到它不再被引用。但是有时候可能会因为一个小的内存引用而导致底层整个数组处于被使用的状态,这会延迟自动内存回收器对底层数组的回收。 + +例如,`FindPhoneNumber`函数加载整个文件到内存,然后搜索第一个出现的电话号码,最后结果以切片方式返回。 + +```go +func FindPhoneNumber(filename string) []byte { + b, _ := ioutil.ReadFile(filename) + return regexp.MustCompile("[0-9]+").Find(b) +} +``` + +这段代码返回的`[]byte`指向保存整个文件的数组。因为切片引用了整个原始数组,导致自动垃圾回收器不能及时释放底层数组的空间。一个小的需求可能导致需要长时间保存整个文件数据。这虽然这并不是传统意义上的内存泄漏,但是可能会拖慢系统的整体性能。 + +要修复这个问题,可以将感兴趣的数据复制到一个新的切片中(数据的传值是Go语言编程的一个哲学,虽然传值有一定的代价,但是换取好处是切断了对原始数据的依赖): + +```go +func FindPhoneNumber(filename string) []byte { + b, _ := ioutil.ReadFile(filename) + b = regexp.MustCompile("[0-9]+").Find(b) + return append([]byte{}, b...) +} +``` + +类似的问题,在删除切片元素时可能会遇到。假设切片里存放的是指针对象,那么下面删除末尾元素的后,被删除的元素依然被切片底层数组引用,从而导致不能即使被自动垃圾回收器回收(这要依赖回收器的实现方式): + +```go +var a []*int{ ... } +a = a[:len(a)-1] // 本删除的最后一个元素依然被引用, 可能导致GC操作被阻碍 +``` + +保险的方式是先将需要自动内存回收的元素设置为`nil`,保证自动回收器可发现需要回收的对象,然后再进行切片的删除操作: + +```go +var a []*int{ ... } +a[len(a)-1] = nil // GC回收最后一个元素内存 +a = a[:len(a)-1] // 从切片删除最后一个元素 +``` + +当然,如果切片存在的周期很短的话,可以不用刻意处理这个问题。因为如果切片本身已经可以被GC回收的话,切片对应的每个元素自然也就是可以被回收了。 + + +**切片类型强制转换** + +为了安全,当两个切片类型`[]T`和`[]Y`的底层原始切片类型不同时,Go语言是无法直接转换类型的。不过安全都是有一定代价的,有时候这种转换是有它的价值的——可能简化编码或者是提升代码的性能。比如在64位系统上,需要对一个`[]float64`切片进行高速排序,我们可以将它强制转为`[]int`整数切片,然后以整数的方式进行排序(因为`float64`遵循IEEE754浮点数标准特性,当浮点数有序时对应的整数也必然是有序的)。 + +下面的代码通过两种方法将`[]float64`类型的切片转换为`[]int`类型的切片: + +```go +// +build amd64 arm64 + +import "sort" + +var a = []float64{4, 2, 5, 7, 2, 1, 88, 1} + +func SortFloat64FastV1(a []float64) { + // 强制类型转换 + var b []int = ((*[1 << 20]int)(unsafe.Pointer(&a[0])))[:len(a):cap(a)] + + // 以int方式给float64排序 + sort.Ints(b) +} + +func SortFloat64FastV2(a []float64) { + // 通过 reflect.SliceHeader 更新切片头部信息实现转换 + var c []int + aHdr := (*reflect.SliceHeader)(unsafe.Pointer(&a)) + cHdr := (*reflect.SliceHeader)(unsafe.Pointer(&c)) + *cHdr = *aHdr + + // 以int方式给float64排序 + sort.Ints(c) +} +``` + +第一种强制转换是先将切片数据的开始地址转换为一个较大的数组的指针,然后对数组指针对应的数组重新做切片操作。中间需要`unsafe.Pointer`来链接两个不同类型的指针传递。需要注意的是,Go语言实现中非0大小数组的长度不得超过2GB,因此需要针对数组元素的类型大小计算数组的最大长度范围(`[]uint8`最大2GB,`[]uint16`最大1GB,以此类推,但是`[]struct{}`数组的长度可以超过2GB)。 + +第二种转换操作是分别取到两个不同类型的切片头信息指针,任何类型的切片头部信息底层都是对应`reflect.SliceHeader`结构,然后通过更新结构体方式来更新切片信息,从而实现`a`对应的`[]float64`切片到`c`对应的`[]int`类型切片的转换。 + +通过基准测试,我们可以发现用`sort.Ints`对转换后的`[]int`排序的性能要比用`sort.Float64s`排序的性能好一点。不过需要注意的是,这个方法可行的前提是要保证`[]float64`中没有Nan和Inf等非规范的浮点数(因为浮点数中Nan不可排序,正0和负0相等,但是整数中没有这类情形)。 + diff --git a/ch1-basic/ch1-04-func-method-interface.md b/ch1-basic/ch1-04-func-method-interface.md new file mode 100644 index 0000000..f01c037 --- /dev/null +++ b/ch1-basic/ch1-04-func-method-interface.md @@ -0,0 +1,501 @@ +# 1.4. 函数、方法和接口 + +函数对应操作序列,是程序的基本组成元素。Go语言中的函数有具名函数和匿名函数之分:具名函数一般对应包级的函数,具名函数是匿名函数的一种特例,当匿名函数引用了外部作用域的变量时就成了闭包函数,闭包函数是函数式编程语言的核心。方法是绑定到一个具体类型的特殊函数,Go语言中的方法是依托于类型的,必须在编译时静态绑定。接口定义方法的集合,接口定义的方法依托于运行时的接口对象,因此接口对应的方法是在运行时动态绑定。Go语言通过隐式接口机制实现了鸭子面向对象模型。 + +Go语言程序的初始化和执行总是从`main.main`函数开始的。但是如果`main`包里导入了其它的包,则会按照顺序将它们包含进`main`包里(这里的导入顺序依赖具体实现,一般可能是以文件名或包路径名的字符串顺序导入)。如果某个包被多次导入的话,在执行的时候只会导入一次。当一个包被导入时,如果它还导入了其它的包,则先将其它的包包含进来,然后创建和初始化这个包的常量和变量。然后就是调用包里的`init`函数,如果一个包有多个`init`函数的话,实现可能是以文件名的顺序调用,同一个文件内的多个`init`则是以出现的顺序依次调用(`init`不是普通函数,可以定义有多个,所有也不能被其它函数调用)。最后,当`main`包的所有包常量、包变量被创建和初始化,并且`init`函数被执行后,才会进入`main.main`函数,程序开始正常执行。下图是Go程序函数启动顺序的示意图: + +![](../images/init.png) + +要注意的是,在`main.main`函数执行之前所有代码都运行在同一个goroutine中,也就是运行在程序的主系统线程中。因此,如果某个`init`函数内部用go关键字启动了新的goroutine的话,新的goroutine只有在进入`main.main`函数之后才可能被执行到。 + +## 函数 + +在Go语言中,函数是第一类对象,我们可以将函数保持到变量中。函数主要有具名函数和匿名的函数之分,包级函数一般都是具名函数,具名函数是匿名函数的一种特例。当然,Go语言中每个类型还可以有自己的方法,方法其实也是函数的一种。 + +```go +// 具名函数 +func Add(a, b int) int { + return a+b +} + +// 匿名函数 +var Add = func(a, b int) int { + return a+b +} +``` + +Go语言中的函数可以有多个输入参数和多个返回值,输入参数和返回值都是以传值的方式和被调用者交换数据。在语法上,函数还支持可变数量的参数,可变数量的参数必须是最后出现的参数,可变数量的参数其实是一个切片类型的参数。 + +```go +// 多个输入参数和多个返回值 +func Swap(a, b int) (int, int) { + return b, a +} + +// 可变数量的参数 +// more 对应 []int 切片类型 +func Sum(a int, more ...int) int { + for _, v := range more { + a += v + } + return a +} +``` + +当可变参数是一个空接口类型时,调用者是否解包可变参数会导致不同的结果: + +```go +func main() { + var a = []interface{}{123, "abc"} + + Print(a...) // 123 abc + Print(a) // [123 abc] +} + +func Print(a ...interface{}) { + fmt.Println(a...) +} +``` + +第一个`Print`调用时传入的参数是`a...`,等价于直接调用`Print(123, "abc")`。第二个`Print`调用传入的是为解包的`a`,等价于直接调用`Print([]interface{}{123, "abc"})`。 + +不仅函数的输入参数可以有名字,也可以给函数的返回值命名: + +```go +func Find(m map[int]int, key int) (value int, ok bool) { + return m[key] +} +``` + +如果返回值命名了,可以通过名字来修改返回值,也可以通过`defer`语句在`return`语句之后修改返回值: + +```go +func Inc(x int) (v int) { + v = 42 + defer func(){ v++ } () + return v +} +``` + +其中`defer`语句延迟执行了一个匿名函数,因为这个匿名函数捕获了外部函数的局部变量`v`,这种函数我们一般叫闭包。闭包对捕获的外部变量并不是传值方式访问,而是以引用的方式访问。 + +闭包的这种引用方式访问外部变量的行为可能会导致一些隐含的问题: + +```go +func main() { + for i := 0; i < 3; i++ { + defer func(){ println(i) } () + } +} +// Output: +// 4 +// 4 +// 4 +``` + +因为是闭包,在`for`迭代语句中,每个`defer`语句延迟执行的函数引用的都是同一个`i`迭代变量,在循环结束后这个变量的值为4,因此最终输出的都是4。 + +修复的思路是在每轮迭代中为每个`defer`函数生成独有的变量。可以用下面两种方式: + +```go +func main() { + for i := 0; i < 3; i++ { + i := i // 定义一个循环体内局部变量i + defer func(){ println(i) } () + } +} + +func main() { + for i := 0; i < 3; i++ { + // 通过函数函数传入i + // defer 语句会马上对调用参数求值 + defer func(i int){ println(i) } (i) + } +} +``` + +第一种方法是在循环体内部再定义一个局部变量,这样每次迭代`defer`语句的闭包函数捕获的都是不同的变量,这些变量的值也是对应迭代时的值。第二种方式是将迭代变量通过闭包函数的参数传人,`defer`语句会马上对调用参数求值。两种方式都是可以工作的。不过一般在`for`循环内部执行`defer`语句并不是一个好的习惯,这里只是为了构造例子。 + +Go语言中,如果以切片为参数调用函数时,函数参数有时候会有传引用的假象:因为在被调用函数内部可以修改传人切片的元素。其实,任何可以通过函数参数修改调用参数的情形,都是因为函数参数中显式或瘾式传人了指针参数。函数参数传值的规范更准确说是只针对数据结构中固定的部分传值,例如字符串或切片对应结构体中的指针和字符串长度结构体传值,但是并不包含指针间接指向的内容。将切片类型的参数替换为类似`reflect.SliceHeader`结构体就很好理解切片传值的含义了: + +```go +func twice(x int[]) { + for i := range x { + x[i] *= 2 + } +} + +type IntSliceHeader struct { + Data []int + Len int + Cap int +} + +func twice(x IntSliceHeader) { + for i := 0; i < x.Len; i++ { + x.Data[i] *= 2 + } +} +``` + +因为切片中的底层数组部分是通过隐式指针传递,指针本身依然是传值的,但是指针指向的却是同一份的数据,因此被调用函数是可以通过指针修改调用参数切片中的数据。除了数据之外,切片结构还包含了切片长度和切片容量信息,这2个信息也是传值的。如果被调用函数中修改了`Len`或`Cap`信息的话,就无法反映到调用参数的切片中,这时候我们一般会通过返回修改后的切片来更新之前的切片。这也是为何内置的`append`必须要返回一个切片的原因。 + +Go语言中,函数还可以直接或间接地调用自己,也就是支持函数的递归调用。不过Go语言函数的递归调用深度逻辑上没有限制,函数调用的栈是不会出现溢出错误的,因为Go语言运行时会根据需要动态地调整函数栈的大小。每个goroutine刚启动时只会分配很小的栈(4或8KB,具体依赖实现),根据需要动态调整栈的大小,栈最大可以达到GB级(依赖具体实现)。在Go1.4以前,Go的动态栈采用的是分段式的动态栈,通俗地说就是采用一个链表来实现动态栈,每个链表的节点内存位置不会发生变化。但是链表实现的动态栈对某些导致跨越链表不同节点的热点调用的性能影响较大,因为相邻的链表节点它们在内存位置一般不是相邻的,这会增加CPU高速缓存命中失败的几率。为了解决热点调用的CPU缓存命中率问题,Go1.4之后改用连续的动态栈实现,也就是采用一个类似动态数组的结构来表示栈。不过连续动态栈也带来了新的问题:当连续栈动态增长时,需要将之前的数据移动到新的内存空间,这会导致之前栈中全部变量的地址发生变化。虽然Go语言运行时会自动更新引用了地址变化的栈变量的指针,但最重要的一点是要明白Go语言中指针不再是固定不变的了(因此不能随意将指针保持到数值变量中,Go语言的地址也不能随意保存到不在GC控制的环境中,因此使用CGO时不能在C语言中长期持有Go语言对象的地址)。 + +因为,Go语言函数的栈不会溢出,普通Go程序员已经很少需要关心栈的运行机制的。在Go语言规范中甚至故意没有讲到栈和堆的概念。我们无法知道函数参数或局部变量到底是保存在栈中还是堆中,我们只需要知道它们能给正常工作就可以了。看看下面这个例子: + +```go +func f(x int) *int { + return &x +} + +func g() int { + x = new(int) + return *x +} +``` + +第一个函数直接返回了函数参数变量的地址——这似乎是不可以的,因为如果参数变量在栈上的话,函数返回之后栈变量就失效了,返回的地址自然也应该失效了。但是Go语言的编译器和运行时比我们聪明的多,它会保证指针指向的变量在合适的地方。第二个函数,内部虽然调用`new`函数创建了`*int`类型的指针对象,但是依然不知道它具体保存在哪里。对于有C/C++编程经验的程序员需要强调的是:不用关心Go语言中函数栈和堆的问题,编译器和运行时会帮我们搞定;同样不要假设变量在内存中的位置是固定不变的,指针随时可能会变化,特别是在你不期望它变化的时候。 + +## 方法 + +方法一般是面向对象编程(OOP)的一个特性,在C++语言中方法对应一个类对象的成员函数,是关联到具体对象上的虚表中的。但是Go语言的方法却是关联到类型的,这样可以在编译阶段完成方法的静态绑定。一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需要直接去操作对象,而是借助方法来做这些事情。面向对象编程(OOP)进入主流开发领域一般认为是从C++开始的,C++就是在兼容C语言的基础之上支持了class等面向对象的特性。然后Java编程则号称是纯粹的面向对象语言,因为Java中函数是不能独立存在的,每个函数都必然是属于某个类的。 + +面向对象编程更多的只是一种思想,很多号称支持面向对象编程的语言只是将经常用到的特性内置到语言中了而已。Go语言的祖先C语言虽然不是一个支持面向对象的语言,但是C语言的标准库中的File相关的函数也用到了的面向对象编程的思想。下面我们实现一组C语言风格的File函数: + +```go +// 文件对象 +type File struct { + fd int +} + +// 打开文件 +func OpenFile(name string) (f *File, err error) { + // ... +} + +// 关闭文件 +func CloseFile(f *File) error { + // ... +} + +// 读文件数据 +func ReadFile(f *File, int64 offset, data []byte) int { + // ... +} +``` + +其中`OpenFile`类似构造函数用于打开文件对象,`CloseFile`类似析构函数用于关闭文件对象,`ReadFile`则类似普通的成员函数,这三个函数都是普通的函数。`CloseFile`和`ReadFile`作为普通函数,需要占用包级空间中的名字资源。不过`CloseFile`和`ReadFile`函数只是针对`File`类型对象的操作,这时候我们更希望这类函数和操作对象的类型紧密绑定在一起。 + +Go语言中的做法是,将`CloseFile`和`ReadFile`函数的第一个参数移动到函数名的开头: + +```go +// 关闭文件 +func (f *File) CloseFile() error { + // ... +} + +// 读文件数据 +func (f *File) ReadFile(int64 offset, data []byte) int { + // ... +} +``` + +这样的话,`CloseFile`和`ReadFile`函数就成了`File`类型独有的方法了(而不是`File`对象方法)。它们也不再占用包级空间中的名字资源,同时`File`类型已经明确了它们操作对象,因此方法名字一般简化为`Close`和`Read`: + +```go +// 关闭文件 +func (f *File) Close() error { + // ... +} + +// 读文件数据 +func (f *File) Read(int64 offset, data []byte) int { + // ... +} +``` + +将第一个函数参数移动到函数前面,从代码角度看虽然只是一个小的改动,但是从编程哲学角度来看,Go语言已经是进入面向对象语言的行列了。我们可以给任何自定义类型添加一个或多个方法。每种类型对应的方法必须和类型的定义在同一个包中,因此是无法给`int`这类内置类型添加方法的(因为方法的定义和类型的定义不在一个包中)。对于给定的类型,每个方法的名字必须是唯一的,同时方法和函数一样也不支持重载。 + +方法是由函数演变而来,只是将函数的第一个对象参数移动到了函数名前面了而已。因此我们依然可以按照原始的过程式思维来使用方法。通过叫方法表达式的特性可以将方法还原为普通类型的函数: + +```go +// 不依赖具体的文件对象 +// func CloseFile(f *File) error +var CloseFile = (*File).Close + +// 不依赖具体的文件对象 +// func ReadFile(f *File, int64 offset, data []byte) int +var ReadFile = (*File).Read + +// 文件处理 +f, _ := OpenFile("foo.dat") +ReadFile(f, 0, data) +CloseFile(f) +``` + +在有些场景更关心一组相似的操作:比如`Read`读取一些数组,然后调用`Close`关闭。此时的环境中,用户并不关心操作对象的类型,只要能满足通用的`Read`和`Close`行为就可以了。不过在方法表达式中,因为得到的`ReadFile`和`CloseFile`函数参数中含有`File`这个特有的类型参数,这使得`File`相关的方法无法和其它不是`File`类型但是有着相同`Read`和`Close`方法的对象无缝适配。这种小困难难不倒我们Go语言码农,我们可以通过结合闭包特性来消除方法表达式中第一个参数类型的差异: + +```go +// 先打开文件对象 +f, _ := OpenFile("foo.dat") + +// 绑定到了 f 对象 +// func Close() error +var Close = func Close() error { + return (*File).Close(f) +} + +// 绑定到了 f 对象 +// func Read(int64 offset, data []byte) int +var Read = func Read(int64 offset, data []byte) int { + return (*File).Read(f, offset, data) +} + +// 文件处理 +Read(0, data) +Close() +``` + +这刚好是方法值也要解决的问题。我们用方法值特性可以简化实现: + +```go +// 先打开文件对象 +f, _ := OpenFile("foo.dat") + +// 方法值: 绑定到了 f 对象 +// func Close() error +var Close = f.Close + +// 方法值: 绑定到了 f 对象 +// func Read(int64 offset, data []byte) int +var Read = f.Read + +// 文件处理 +Read(0, data) +Close() +``` + +Go语言不仅支持传统面向对象中的继承特性,而是以自己特有的组合方式支持了方法的继承。Go语言中,通过在结构体内置匿名的成员来实现继承: + +```go +import "image/color" + +type Point struct{ X, Y float64 } + +type ColoredPoint struct { + Point + Color color.RGBA +} +``` + +虽然我们可以将`ColoredPoint`定义为一个有三个字段的扁平结构的结构体,但是我们这里将`Point`嵌入到`ColoredPoint`来提供`X`和`Y`这两个字段。 + +```go +var cp ColoredPoint +cp.X = 1 +fmt.Println(cp.Point.X) // "1" +cp.Point.Y = 2 +fmt.Println(cp.Y) // "2" +``` + +通过嵌入匿名的成员,我们不仅可以继承匿名成员的内部成员,而且可以继承匿名成员类型所对应的方法。我们一般会将Point看作基类,把ColoredPoint看作是它的继承类或子类。不过这种方式继承的方法并不能实现C++中虚函数的多态特性。所有继承来的方法的接收者参数依然是那个匿名成员本身,而不是当前的变量。 + +```go +type Cache struct { + m map[string]string + sync.Mutex +} + +func (p *Cache) Lookup(key string) string { + p.Lock() + defer p.Unlock() + + return p.m[key] +} +``` + +`Cache`结构体类型通过嵌入一个匿名的`sync.Mutex`来继承它的`Lock`和`Unlock`方法. 但是在调用`p.Lock()`和`p.Unlock()`时, `p`并不是`Lock`和`Unlock`方法的真正接收者, 而是会将它们展开为`p.Mutex.Lock()`和`p.Mutex.Unlock()`调用. 这种展开是编译期完成的, 并没有运行时代价. + +在传统的C++或Java面向对象的继承中,子类的方法是在运行时动态绑定到对象的,因此基类实现的某些方法看到的`this`可能是不是基类类型对应的对象,这个特性会导致基类方法运行的不确定性。而在Go语言通过嵌入匿名的成员来继承的基类方法的`this`就是实现该方法的类型的对象,Go语言中方法是编译时静态绑定的。如果需要虚函数的多态特性,我们需要借助Go语言接口来实现。 + +## 接口 + +Go语言之父Rob Pike曾说过一句名言:那些避免白痴行为的语言最终自己变成了白痴语言(Languages that try to disallow idiocy become themselves idiotic)。一般静态编程语言都有着严格的类型系统,这使得编译器可以深入检查程序员没有作出什么出格的举动。但是,过于严格的类型系统却会使得编程太过繁琐,让程序员把大好的青春都浪费在了和编译器的斗争中。Go语言试图让程序员能在安全和灵活的编程之间取得一个平衡。它在提供严格的类型检查的同时,通过接口类型实现了对鸭子类型的支持,使得安全动态的编程变得相对容易。 + +Go的接口类型是对其它类型行为的抽象和概括;因为接口类型不会和特定的实现细节绑定在一起,通过这种抽象的方式我们可以让对象更加灵活和更具有适应能力。很多面向对象的语言都有相似的接口概念,但Go语言中接口类型的独特之处在于它是满足隐式实现的鸭子类型。所谓鸭子类型说的是:只要走起路来像鸭子、叫起来也像鸭子,那么就可以把它当作鸭子。Go语言中的面向对象就是如此,如果一个对象只要看起来像是某种接口类型,那么它就可以作为该接口类型使用。这种设计可以让你创建一个新的接口类型满足已经存在的具体类型却不用去破坏这些类型原有的定义;当我们使用的类型来自于不受我们控制的包时这种设计尤其灵活有用。Go语言的接口类型是延迟绑定,可以实现类似虚函数的多态功能。 + +接口在Go语言中无处不在,在“Hello world”的例子中,`fmt.Printf`函数的设计就是完全基于接口的,它的真正功能由`fmt.Fprintf`函数完成。用于表示错误的`error`类型更是内置的接口类型。在C语言中,`printf`只能将几种有限的基础数据类型打印到文件对象中。但是Go语言灵活接口特性,`fmt.Fprintf`却可以向任何自定义的输出流对象打印,可以打印到文件或标准输出、也可以打印到网络、甚至可以打印到一个压缩文件;同时,打印的数据也不仅仅局限于语言内置的基础类型,任意隐式满足`fmt.Stringer`接口的对象都可以打印,不满足`fmt.Stringer`接口的依然可以通过反射的技术打印。`fmt.Fprintf`函数的签名如下: + +```go +func Fprintf(w io.Writer, format string, args ...interface{}) (int, error) +``` + +其中`io.Writer`用于输出的接口,`error`是内置的错误接口,它们的定义如下: + +```go +type io.Writer interface { + Write(p []byte) (n int, err error) +} + +type error interface { + Error() string +} +``` + +我们可以通过定制自己的输出对象,将每个字符转为大写字符后输出: + +```go +type UpperWriter struct { + io.Writer +} + +func (p *UpperWriter) Write(data []byte) (n int, err error) { + return p.Writer(bytes.ToUpper(data)) +} + +func main() { + fmt.Fprintln(&UpperWriter{os.Stdout}, "hello, world") +} +``` + +当然,我们也可以定义自己的打印格式来实现将每个字符转为大写字符后输出的效果。对于每个要打印的对象,如果满足了`fmt.Stringer`接口,则默认使用对象的`String`方法返回的结果打印: + +```go +type UpperString string + +func (s UpperString) String() string { + return strings.ToUpper(s) +} + +type fmt.Stringer interface { + String() string +} + +func main() { + fmt.Fprintln(os.Stdout, UpperString("hello, world")) +} +``` + +Go语言中,对于基础类型(非接口类型)不支持隐式的转换,我们无法将一个`int`类型的值直接赋值给`int64`类型的变量,也无法将`int`类型的值赋值给底层是`int`类型的新定义命名类型的变量。Go语言对基础类型的类型一致性要求可谓是非常的严格,但是Go语言对于接口类型的转换则非常的灵活。对象和接口之间的转换、接口和接口之间的转换都可能是隐式的转换。可以看下面的例子: + +```go +var ( + a io.ReadCloser = (*os.File)(f) // 隐式转换, *os.File 类型满足了 io.ReadCloser 接口 + b io.Reader = a // 隐式转换, io.ReadCloser 满足了 io.Reader 接口 + c io.Closer = a // 隐式转换, io.ReadCloser 满足了 io.Closer 接口 + d io.Reader = c.(io.Reader) // 显式转换, io.Closer 并不显式满足 io.Reader 接口 +) +``` + +有时候对象和接口之间太灵活了,导致我们需要人为地限制这种无意之间的适配。常见的做法是定义一个含特殊方法来区分接口。比如`runtime`包中的`Error`接口就定义了一个特有的`RuntimeError`方法,用于避免其它类型无意中适配了该接口: + +```go +type runtime.Error interface { + error + + // RuntimeError is a no-op function but + // serves to distinguish types that are run time + // errors from ordinary errors: a type is a + // run time error if it has a RuntimeError method. + RuntimeError() +} +``` + +在protobuf中,`Message`接口也采用了类似的方法,也定义了一个特有的`ProtoMessage`,用于避免其它类型无意中适配了该接口: + +```go +type proto.Message interface { + Reset() + String() string + ProtoMessage() +} +``` + +不过这种做法只是君子协定,如果有人刻意伪造一个`proto.Message`接口也是很容易的。再严格一点的做法是给接口定义一个私有方法。只有满足了这个私有方法的对象才可能满足这个接口,而私有方法的名字是包含包的绝对路径名的,因此只能在包内部实现这个私有方法才能满足这个接口。测试包中的`testing.PB`接口就是采用类似的技术: + +```go +type testing.TB interface { + Error(args ...interface{}) + Errorf(format string, args ...interface{}) + ... + + // A private method to prevent users implementing the + // interface and so future additions to it will not + // violate Go 1 compatibility. + private() +} +``` + +不过这种通过私有方法禁止外部对象实现接口的做法也是有代价的:首先是这个接口只能包内部使用,外部包正常情况下是无法直接创建满足该接口对象的;其次,这种防护措施也不是绝对的,恶意的用户依然可以绕过这种保护机制。 + +在前面的方法一节中我们讲到,通过在结构体中嵌入匿名类型成员,可以继承匿名类型的方法。其实这个被嵌入的匿名成员不一定是普通类型,也可以是接口类型。我们可以通过嵌入匿名的`testing.PB`接口来伪造私有的`private`方法,因为接口方法是延迟绑定,编译时`private`方法是否真的存在并不重要。 + +```go +package main + +import ( + "fmt" + "testing" +) + +type TB struct { + testing.TB +} + +func (p *TB) Fatal(args ...interface{}) { + fmt.Println("TB.Fatal disabled!") +} + +func main() { + var tb testing.TB = new(TB) + tb.Fatal("Hello, playground") +} +``` + +我们在自己的`PB`结构体类型中重新实现了`Fatal`方法,然后通过将对象隐式转换为`testing.TB`接口类型(因为内嵌了匿名的`testing.TB`对象,因此是满足`testing.TB`接口的),然后通过`testing.TB`接口来调用我们自己的`Fatal`方法。 + +这种通过嵌入匿名接口或嵌入匿名指针对象来实现继承的做法其实是一种纯虚继承,我们继承的只是接口指定的规范,真正的实现在运行的时候才被注入。比如,我们可以模拟实现一个grpc的插件: + +```go +type grpcPlugin struct { + *generator.Generator +} + +func (p *grpcPlugin) Name() string { return "grpc" } + +func (p *grpcPlugin) Init(g *generator.Generator) { + p.Generator = g +} + +func (p *grpcPlugin) GenerateImports(file *generator.FileDescriptor) { + if len(file.Service) == 0 { + return + } + + p.P(`import "google.golang.org/grpc"`) + // ... +} +``` + +构造的`grpcPlugin`类型对象必须满足`generate.Plugin`接口(在"github.com/golang/protobuf/protoc-gen-go/generator"包中): + +```go +type Plugin interface { + // Name identifies the plugin. + Name() string + // Init is called once after data structures are built but before + // code generation begins. + Init(g *Generator) + // Generate produces the code generated by the plugin for this file, + // except for the imports, by calling the generator's methods P, In, and Out. + Generate(file *FileDescriptor) + // GenerateImports produces the import declarations for this file. + // It is called after Generate. + GenerateImports(file *FileDescriptor) +} +``` + +`generate.Plugin`接口对应的`grpcPlugin`类型的`GenerateImports`方法中使用的`p.P(...)`函数却是通过`Init`函数注入的`generator.Generator`对象实现。这里的`generator.Generator`对应一个具体类型,但是如果`generator.Generator`是接口类型的话我们甚至可以传人直接的实现。 + +Go语言通过几种简单特性的组合,居然轻易就实现了鸭子面向对象和虚拟继承等高级特性,真的是不可思议。 diff --git a/ch1-basic/ch1-05-mem.md b/ch1-basic/ch1-05-mem.md new file mode 100644 index 0000000..7f7cde1 --- /dev/null +++ b/ch1-basic/ch1-05-mem.md @@ -0,0 +1,388 @@ +# 1.5. 面向并发的内存模型 + +在早期,CPU都是以单核的形式顺序执行机器指令。而作为Go语言祖先的C语言正是这种顺序编程语言的代表。顺序编程语言中的顺序指的是,所有的指令都是以串行的方式执行,在相同的时刻有且仅有一个CPU在顺序执行程序的指令。 + +不过随着处理器的发展,单核时代以提升处理器频率的方式遇到的瓶颈,目前各种主流的CPU频率基本被锁定在了3GHZ附近。单核CPU的发展虽然停滞了,但是却给多核CPU的发展带来了机遇。相应地,编程语言也开始逐步向并行化的方向发展。Go语言正是在多核和网络化的时代背景下诞生的原生支持并发的编程语言。 + +常见的并行编程有多种模型,主要有多线程、消息传递等。理论上讲,多线程和基于消息的并发编程是等价的。但是多线程并发模型可以自然对应到多核的处理器,主流的操作系统也都提供了系统级的多线程支持,而且从概念上讲多线程似乎也更直观,因此多线程编程模型逐步被吸纳到主流的编程语言特性或语言扩展库中。而主流编程语言对基于消息的并发编程模型支持比对较少,Erlang语言是支持基于消息传递并发编程模型的代表者,不过Erlang编程语言的并发体之间是不共享内存的。Go语言是基于消息并发模型的集大成者,它将基于CSP模型的并发编程内置到了语言中,通过一个go关键字就可以轻易地启动一个Goroutine,同时Go语言中的Goroutine之间是共享内存的。 + +## Goroutine和系统线程 + +Goroutine是Go语言特有的并发体,是一种轻量级的线程,由go关键字启动。在真实的Go语言的实现中,goroutine和系统线程也不是等价的。尽管两者的区别实际上只是一个量的区别,但正是这个量变引发量Go语言并发编程质的飞跃。 + +首先,每个系统级线程都会有一个固定大小的栈(一般默认可能是2MB),这个栈主要用来解决函数递归调用时函数参数和局部变量。因为是固定栈大小,导致很多只需要很小的栈空间的线程来说是一个巨大的浪费,同时对于少数但是需要巨大栈空间的线程来说又面临栈溢出的风险。通过降低固定的栈大小虽然可以提升空间的利用率允许创建更多的线程,或者增大栈的深度以允许更深的函数递归调用,不过这两者是没法同时兼得的。相反,一个Goroutine会以一个很小的栈启动(可能是2KB或4KB),当遇到深度递归导致当前栈空间不足时,Goroutine栈的大小会根据需要动态地伸缩(主流实现中栈的最大值可达到1GB)。因为启动的代价很小,我们可以轻易地启动成千上万个Goroutine。 + +Go的运行时还包含了其自己的调度器,这个调度器使用了一些技术手段,可以在n个操作系统线程上多工调度m个goroutine。Go调度器的工作和内核的调度是相似的,但是这个调度器只关注单独的Go程序中的goroutine。Goroutine采用的是半抢占式的协作调度,只有但当前Goroutine发生阻塞时才会导致调度;同时发生在用户态,调度器会根据具体函数只保存必要的寄存器,切换的代价要比系统线程低得多。运行时有一个`runtime.GOMAXPROCS`变量,用于控制当前运行运行正常非阻塞Goroutine的系统线程数目。 + +在Go语言中启动一个Goroutine不仅和调用函数一样简单,而且Goroutine之间调度代价也很低,这些因素极大地促进量并发编程的流行和发展。 + +## 原子操作 + +所谓的原子操作就是并发编程中“最小的且不可并行化”的操作。通常,有多个并发体对一个共享资源的操作是原子操作的话,同一时刻最多只能有一个并发体对该资源进行操作。从线程角度看,在当前线程修改共享资源期间,其它的线程是不能访问该资源的。原子操作对于多线程并发编程模型来说,不会发生有别于单线程的意外情况,共享资源的完整性可以得到保证。 + +一般情况下,原子操作都是通过“互斥”访问来保证访问的,通常由特殊的CPU指令提供保护。当然,如果仅仅是想模拟下粗粒度的原子操作,我们可以借助于`sync.Mutex`来实现: + +```go +import ( + "sync" +) + +var total struct { + sync.Mutex + value int +} + +func worker(wg *sync.WaitGroup) { + defer wg.Done() + + for i := 0; i <= 100; i++ { + total.Lock() + total.value += i + total.Unlock() + } +} + +func main() { + go worker(&wg) + go worker(&wg) + wg.Wait() + + fmt.Println(total.value) +} +``` + +在`worker`的循环中,为了保证`total.value += i`的原子性,我们通过`sync.Mutex`加锁和解锁来保证该语句在同一时刻只有一个线程可以访问。对于多线程模型的程序而言,进出临界区前后进行加锁和解锁都是必须的。如果没有锁的保护,`total`的结果将由于多线程之间的竞争而导致错误结果。 + +用互斥锁来保护一个数值型的共享资源,不仅仅编写麻烦效率也很低下。其实标准库的`sync/atomic`包已经对原子操作提供了丰富的支持。我们可以重新实现上面的例子: + +```go +import ( + "sync" + "sync/atomic" +) + +var total int64 + +func worker(wg *sync.WaitGroup) { + defer wg.Done() + + for i := 0; i <= 100; i++ { + atomic.AddUint64(&total, i) + } +} + +func main() { + go worker(&wg) + go worker(&wg) + wg.Wait() +} +``` + +`atomic.AddUint64`函数调用保证了`total`的读取、更新和保存是一个原子操作,因此在多线程中访问也是安全的。 + +原子操作配合互斥锁可以实现非常高效的单件模式。互斥锁的代价比普通整数的原子读写高很多,在性能敏感的地方可以增加一个数字型的标志位,通过原子检测标志位状态通过降低互斥锁的次数来提高性能。 + +```go +type singleton struct {} + +var ( + instance *singleton + initialized uint32 + mu sync.Mutex +) + +func GetInstance() *singleton { + if atomic.LoadUInt32(&initialized) == 1 { + return instance + } + + mu.Lock() + defer mu.Unlock() + + if instance == nil { + defer atomic.StoreUint32(&initialized, 1) + instance = &singleton{} + } + return instance +} +``` + +我们可以将通用的代码提取出来,就成了标准库中`sync.Once`的实现: + +```go +type Once struct { + m Mutex + done uint32 +} + +func (o *Once) Do(f func()) { + if atomic.LoadUint32(&o.done) == 1 { + return + } + + o.m.Lock() + defer o.m.Unlock() + + if o.done == 0 { + defer atomic.StoreUint32(&o.done, 1) + f() + } +} +``` + +基于`sync.Once`重新实现单件模式: + +```go +var ( + instance *singleton + once sync.Once +) + +func GetInstance() *singleton { + once.Do(func() { + instance = &singleton{} + }) + return instance +} +``` + +`sync/atomic`包不仅仅对基本的数值类型提供的原子操作的支持,而且对复杂对象的读写也提供了原子操作的支持。`atomic.Value`原子对象提供了`Load`和`Store`两个原子方法,分别用于加载和保存数据,返回值和参数都是`interface{}`类型,因此可以用于任意的自定义复杂类型。 + +```go +var config atomic.Value // 保存当前配置信息 + +// 初始化配置信息 +config.Store(loadConfig()) + +// 启动一个后台线程, 加载更新后的配置信息 +go func() { + for { + time.Sleep(time.Second) + config.Store(loadConfig()) + } +}() + +// 用于处理每个请求的工作者线程始终采用最新的配置信息 +for i := 0; i < 10; i++ { + go func() { + for r := range requests() { + c := config.Load() + // ... + } + }() +} +``` + +这是一个简化的生产者、消费者模型:后台线程生成最新的配置信息;前台多个工作者线程获取最新的配置信息。所有线程共享配置信息资源。 + +## 顺序一致性内存模型 + +如果只是简单地想在线程之间进行数据同步的话,原子操作已经为编程人员提供了一些同步保障。不过这种安全所基于的假设前提是:顺序一致性的内存模型。要了解顺序一致性,我们先看看一个简单的例子: + +```go +var a string +var done bool + +func setup() { + a = "hello, world" + done = true +} + +func main() { + go setup() + for !done {} + print(a) +} +``` + +我们创建了`setup`线程,用于对字符串`a`的初始化工作,初始化完成之后设置`done`标志为`true`。`main`函数所在的主线程中,通过`for !done {}`检测`done`变为`true`时,认为字符串初始化工作完成,然后进行字符串的打印工作。 + +但是Go语言并不保证在`main`函数中观测到的对`done`写入操作发生在对字符串`a`被写入的操作之后,因此程序很可能打印一个空字符串。更糟糕的是,因为两个线程之间没有同步事件,`setup`线程对`done`的写入操作甚至无法被`main`线程看到,`main`函数有可能陷入死循环中。 + +在Go语言中,在同一个Goroutine线程内部,顺序一致性内存模型依然是得到保证的。但是在不同的Goroutine之间,并不满足顺序一致性内存模型,需要通过明确定义的同步事件来作为同步的参考。如果两个事件不可排序,那么就说这两个事件是并发的。为了最大化并行,Go语言的编译器和处理器在不影响上述规定的前提下可能会对执行语句重新排序(CPU也会对一些指令进行乱序执行)。 + +因此,如果在一个Goroutine中顺序执行`a = 1; b = 2;`两个语句,虽然在当前的Goroutine中可以认为`a = 1;`语句先于`b = 2;`语句执行,但是在另一个Goroutine中`b = 2;`语句可能会先于`a = 1;`语句执行,甚至在另一个Goroutine中无法看到它们的变化(可能始终在寄存器中)。也就是说在另一个Goroutine看来, `a = 1; b = 2;`两个语句的执行顺序是不确定的。如果一个并发程序无法确定事件的偏序关系,那么程序的运行结果往往会有不确定的结果。比如下面这个程序: + + +```go +func main() { + go println("你好, 世界") +} +``` + +根据Go语言规范,`main`函数退出时程序结束,不会等待任何后台线程。因为Goroutine的执行和`main`函数的返回事件是并发的,谁都有可能先发生,所以什么时候打印,能否打印都是未知的。 + +用前面的原子操作并不能解决问题,因为我们无法确定两个原子操作之间的顺序。解决问题的办法就是通过同步原语来给两个事件明确排序: + +```go +func main() { + done := make(chan int) + + go func(){ + println("你好, 世界") + done <- 1 + }() + + <-done +} +``` + +当`<-done`执行时,必然要求`done <- 1`也已经执行。根据同一个Gorouine依然满足顺序一致性规则,我们可以判断当`done <- 1`执行时,`println("你好, 世界")`语句必然已经执行完成了。因此,现在的程序确保可以正常打印结果。 + +当然,通过`sync.Mutex`互斥量也是可以实现同步的: + +```go +func main() { + var mu sync.Mutex + + mu.Lock() + go func(){ + println("你好, 世界") + mu.Unock() + }() + + mu.Lock() +} +``` + +可以确定后台线程的`mu.Unock()`必然在`println("你好, 世界")`完成后发生(同一个线程满足顺序一致性),`main`函数的第二个`mu.Lock()`必然在后台线程的`mu.Unock()`之后发生(`sync.Mutex`保证),此时后台线程的打印工作已经顺利完成了。 + +## 初始化顺序 + +前面函数章节中我们已经简单介绍过程序的初始化顺序,这是属于Go语言面向并发的内存模型的基础规范。 + +Go程序的初始化和执行总是从`main.main`函数开始的。但是如果`main`包里导入了其它的包,则会按照顺序将它们包含进`main`包里(这里的导入顺序依赖具体实现,一般可能是以文件名或包路径名的字符串顺序导入)。如果某个包被多次导入的话,在执行的时候只会导入一次。当一个包被导入时,如果它还导入了其它的包,则先将其它的包包含进来,然后创建和初始化这个包的常量和变量。然后就是调用包里的`init`函数,如果一个包有多个`init`函数的话,实现可能是以文件名的顺序调用,同一个文件内的多个`init`则是以出现的顺序依次调用(`init`不是普通函数,可以定义有多个,所以不能被其它函数调用)。最终,在`main`包的所有包常量、包变量被创建和初始化,并且`init`函数被执行后,才会进入`main.main`函数,程序开始正常执行。下图是Go程序函数启动顺序的示意图: + +![](../images/init.png) + +要注意的是,在`main.main`函数执行之前所有代码都运行在同一个goroutine中,也是运行在程序的主系统线程中。如果某个`init`函数内部用go关键字启动了新的goroutine的话,新的goroutine只有在进入`main.main`函数之后才可能被执行到。 + +因为所有的`init`函数和`main`函数都是在主线程完成,它们也是满足顺序一致性模型的。 + +## Goroutine的创建 + +`go`语句会在当前Goroutine对应函数开始执行前启动新的Goroutine. 例如: + + +```go +var a string + +func f() { + print(a) +} + +func hello() { + a = "hello, world" + go f() +} +``` + +执行`go f()`语句创建Goroutine和`hello`函数是在同一个Goroutine中执行, 根据语句的书写顺序可以确定Goroutine的创建发生在`hello`函数返回之前, 但是新创建Goroutine对应的`f()`的执行事件和`hello`函数返回的事件则是不可排序的,也就是并发的。调用`hello`可能会在将来的某一时刻打印`"hello, world"`,也很可能是在`hello`函数执行完成后才打印。 + +## 基于Channel的通信 + +Channel通信是在Goroutine之间进行同步的主要方法。在无缓存的Channel上的每一次发送操作都有与其对应的接收操作相配对,发送和接收操作通常发生在不同的Goroutine上(在同一个Goroutine上执行2个操作很容易导致死锁)。**无缓存的Channel上的发送操作总在对应的接收操作完成前发生.** + + +```go +var done = make(chan bool) +var msg string + +func aGoroutine() { + msg = "你好, 世界" + done <- true +} + +func main() { + go aGoroutine() + <-done + println(msg) +} +``` + +可保证打印出“hello, world”。该程序首先对`msg`进行写入,然后在`done`管道上发送同步信号,随后从`done`接收对应的同步信号,最后执行`println`函数。 + +若在关闭关闭后从中接收数据,接收者就会收到该信道返回的零值。因此在这个例子中,用`close(c)`关闭管道代替`done <- false`依然能保证该程序产生相同的行为。 + +```go +var done = make(chan bool) +var msg string + +func aGoroutine() { + msg = "你好, 世界" + close(done) +} + +func main() { + go aGoroutine() + <-done + println(msg) +} +``` + +**对于从无缓冲信道进行的接收,发生在对该信道进行的发送完成之前。** + +基于上面这个规则可知,交换两个Goroutine中的接收和发送操作也是可以的(但是很危险): + +```go +var done = make(chan bool) +var msg string + +func aGoroutine() { + msg = "hello, world" + <-done +} +func main() { + go aGoroutine() + done <- true + println(msg) +} +``` + +也可保证打印出“hello, world”。后台线程首先对`msg`进行写入,然后从`done`中接收信号,随后`main`线程向`done`发送对应的信号,最后执行`println`函数完成。但是,若该信道为带缓冲的(例如,`done = make(chan bool, 1)`),`main`线程的`done <- true`接收操作将不会被后台线程的`<-done`接收操作阻塞,该程序将无法保证打印出“hello, world”。 + +对于带缓冲的Channel,**对于Channel的第`K`个接收完成操作发生在第`K+C`个发送操作完成之前,其中`C`是Channel的缓存大小。** 如果将`C`设置为0自然就对应无缓存的Channel,也即使第K个接收完成在第K个发送完成之前。因为无缓存的Channel只能同步发1个,也就简化为前面无缓存Channel的规则:**对于从无缓冲信道进行的接收,发生在对该信道进行的发送完成之前。** + +我们可以根据控制Channel的缓存大小来控制并发执行的Goroutine的最大数目, 例如: + +```go +var limit = make(chan int, 3) + +func main() { + for _, w := range work { + go func() { + limit <- 1 + w() + <-limit + }() + } + select{} +} +``` + +最后一句`select{}`是一个空的管道选择语句,该语句会导致`main`线程阻塞,从而避免程序过早退出。还有`for{}`、`<-make(chan int)`等诸多方法可以达到类似的效果。因为`main`线程被阻塞了,如果需要程序正常退出的话可以通过调用`os.Exit(0)`实现。 + +## 不靠谱的同步 + +前面我们已经分析过,下面代码无法保证正常打印结果。实际的运行效果也是大概率不能正常输出结果。 + +```go +func main() { + go println("你好, 世界") +} +``` + +刚接触Go语言的话,可能希望通过加入一个随机的休眠时间来保证正常的输出: + +```go +func main() { + go println("hello, world") + time.Sleep(time.Second) +} +``` + +因为主线程休眠了1秒钟,因此这个程序大概率是可以正常输出结果的。因此,很多人会觉得这个程序已经没有问题了。但是这个程序是不稳健的,依然有失败的可能性。我们先假设程序是可以稳定输出结果的。因为Go线程的启动是非阻塞的,`main`线程显式休眠了1秒钟退出导致程序结束,我们可以近似地认为程序总共执行了1秒多时间。现在假设`println`函数内部实现休眠的时间大于`main`线程休眠的时间的话,就会导致矛盾:后台线程既然先于`main`线程完成打印,那么执行时间肯定是小于`main`线程执行时间的。当然这是不可能的。 + +严谨的并发程序的正确性不应该是依赖于CPU的执行速度和休眠时间等不靠谱的因素的。严谨的并发也应该是可以静态推导出结果的:根据线程内顺序一致性,结合Channel或`sync`同步事件的可排序性来推导,最终完成各个线程各段代码的偏序关系排序。如果两个事件无法根据此规则来排序,那么它们就是并发的,也就是执行先后顺序不可靠的。 + +解决同步问题的思路是相同的:使用显式的同步。 diff --git a/ch1-basic/ch1-06-goroutine.md b/ch1-basic/ch1-06-goroutine.md new file mode 100644 index 0000000..c557220 --- /dev/null +++ b/ch1-basic/ch1-06-goroutine.md @@ -0,0 +1,945 @@ +# 1.6. 常见的并发模式 + +Go语言最吸引人的地方是它内建的并发支持。Go语言并发体系的理论是C.A.R Hoare在1978年提出的CSP(Communicating Sequential Process,通讯顺序进程)。尽管CSP有着精确的数学模型,并实际应用在Hoare实际参与设计的T9000通用计算机上。但是作为对CSP有着20多年实战经验的Rob Pike来说,它更关注的始终是将CSP应用在通用编程语言上的潜力,从NewSqueak、Alef、Limbo到现在的Go语言。作为Go并发编程核心的CSP理论的核心其实只有一个概念:同步通信。关于同步通信的话题我们在前面一节已经讲过,我们现在开始简单介绍下Go语言中常见的并发模式。 + +首先要明确一个概念:并发不是并行。并发更关注的是程序的设计层面,并发的程序完全是可以顺序执行的,只有在真正的多核CPU上才可能真正地同时运行。并行更关注的是程序的运行层面,并行一般是简单的大量重复,例如GPU中对图像处理都会有大量的并行运算。Go语言从开始设计开始,就围绕着如何能在编程语言的层级,对并发程序的支持设计一个简洁安全高效的抽象模型,让程序员专注于分解问题和组合方案,而且不用担心被线程管理和信号互斥这些繁琐的操作分散精力。 + +在并发编程中,为实现对共享资源的正确访问需要精确的控制,这在多数环境下都很困难。Go语言另辟蹊径,它将共享的值通过信道传递,实际上多个独立执行的线程很少主动共享资源。在任意给定的时刻,最好只有一个Go程能够拥有该资源。数据竞争从设计层面上就被杜绝了。为了提倡这种思考方式,Go语言将其并发编程哲学化为一句口号: + +> Do not communicate by sharing memory; instead, share memory by communicating. + +> 不要通过共享内存来通信,而应通过通信来共享内存。 + +因此通过管道来传值是推荐的做法。这是更高层次的并发编程哲学。虽然,像引用计数这类低层的并发问题通过原子操作或互斥锁来很好地实现,但是通过信道来控制访问能够让你写出更简洁正确的程序。这个经验虽然是从UINX中通过管道链接各个进程的经验总结而来,但是UNIX的管道和CSP其实有着相同的思路。 + +## 并发版本的Hello world + +我们在一个新的Goroutine中输出“Hello world”,`main`等待后台线程输出工作完成之后退出。我们先以这个简单的并发程序作为一个热身。 + +并发编程的核心概念是同步通信,但是同步的方式却是有多种。我们先以大家熟悉的互斥量`sync.Mutex`来实现同步通信。根据文档,我们不能直接对一个未加锁状态的`sync.Mutex`进行解锁,这会导致一个运行时异常。下面这种方式并不能保证正常工作: + +```go +func main() { + var mu sync.Mutex + + go func(){ + fmt.Println("你好, 世界") + mu.Lock() + }() + + mu.Unock() +} +``` + +因为`mu.Lock()`和`mu.Unock()`并不在同一个Goroutine中,因此也不满足顺序一致性内存模型。同时它们也没有其它的同步事件可以参考,这两个事件不可排序也就是并发的。因为是并发的事件,`main`函数中的`mu.Unock()`很有可能先发生,而这个时刻`mu`互斥对象还处于未加锁的状态,从而会导致运行时异常。 + +下面是修复后的代码: + +```go +func main() { + var mu sync.Mutex + + mu.Lock() + go func(){ + fmt.Println("你好, 世界") + mu.Unock() + }() + + mu.Lock() +} +``` + +修复的方式是在`main`函数所在线程中执行两次`mu.Lock()`,当第二次加锁时会因为锁已经被占用(不是递归锁)而阻塞,`main`函数的阻塞状态驱动后台线程继续向前执行。当后台线程执行到`mu.Unock()`时解锁,解锁会导致`main`函数中第二个`mu.Lock()`阻塞状态取消,但是这时已经确保打印工作完成了。但是解锁后,后台线程和主线程再没有其它的同步事件参考,它们何时退出的事件将是并发的:在`main`函数退出导致程序退出时,后台线程可能已经退出了,也可能没有退出。虽然,无法确定两个线程退出的时间,但是打印工作是可以正确完成的。 + +使用`sync.Mutex`互斥锁同步是比较低级的做法。我们现在可以该用无缓存的管道来实现同步: + +```go +func main() { + done := make(chan int) + + go func(){ + fmt.Println("你好, 世界") + <-done + }() + + done <- 1 +} +``` + +根据Go语言内存模型规范,对于从无缓冲信道进行的接收,发生在对该信道进行的发送完成之前。因此,后台线程`<-done`接收操作完成之后,`main`线程的`done <- 1`发生操作才可能完成(从而退出main、退出程序),而此时打印工作已经完成了。 + +上面的代码虽然可以正确同步,但是对管道的缓存大小太敏感:如果管道有缓存的话,就无法保证能main退出之前后台线程能正常打印了。更好的做法是将管道的发送和接收方向调换一下,这样可以避免同步事件受管道缓存大小的影响: + +```go +func main() { + done := make(chan int, 1) // 带缓存的管道 + + go func(){ + fmt.Println("你好, 世界") + done <- 1 + }() + + <-done +} +``` + +对于带缓冲的Channel,对于Channel的第K个接收完成操作发生在第K+C个发送操作完成之前,其中C是Channel的缓存大小。虽然管道是带缓存的,`main`线程接收完成是在后台线程发送开始但还未完成的时刻,此时打印工作也是已经完成的。 + +基于带缓存的管道,我们可以很容易将打印线程扩展到N个。下面的例子是开启10个后台线程分别打印: + +```go +func main() { + done := make(chan int, 10) // 带 10 个缓存 + + // 开N个后台打印线程 + for i := 0; i < cap(done); i++ { + go func(){ + fmt.Println("你好, 世界") + done <- 1 + }() + } + + // 等待N个后台线程完成 + for i := 0; i < cap(done); i++ { + <-done + } +} +``` + +对于这种要等待N个线程完成后再进行下一步的同步操作有一个简单的做法,就是使用`sync.WaitGroup`来等待一组事件: + +```go +func main() { + var wg sync.WaitGroup + + // 开N个后台打印线程 + for i := 0; i < 10; i++ { + wg.Add(1) + + go func() { + fmt.Println("你好, 世界") + wg.Done() + }() + } + + // 等待N个后台线程完成 + wg.Wait() +} +``` + +其中`wg.Add(1)`用于增加等待事件的个数,必须确保在后台线程启动之前执行(如果放到后台线程之中执行这不能保证被正常执行到)。当后台现在完成打印工作之后,调用`wg.Done()`表示完成一个事件。`main`函数的`wg.Wait()`是等待全部的事件完成。 + +## 生产者消费者模型 + +并发编程中最常见的例子就是生产者消费者模式,该模式主要通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。简单地说,就是生产者生产一些数据,然后放到成果队列中,同时消费者从成果队列中来取这些数据。这样就让生产消费变成了异步的两个过程。当成果队列中没有数据时,消费者就进入饥饿的等待中;而当成果队列中数据已满时,生产者则面临因产品挤压导致CPU被剥夺的下岗问题。 + +Go语言实现生产者消费者并发很简单: + +```go +// 生产者: 生成 factor 整数倍的序列 +func Producer(factor int, out chan<- int) { + for i := 0; ; i++ { + item <- i*factor + } +} + +// 消费者 +func Consumer(in <-chan int) { + for _, v := range in { + fmt.Println(v) + } +} +func main() { + ch := make(chan int, 64) // 成果队列 + + go Producer(3, ch) // 生成 3 的倍数的序列 + go Producer(5, ch) // 生成 5 的倍数的序列 + go Consumer(ch) // 消费 生成的队列 + + // 运行一定时间后退出 + time.Sleep(5 * time.Second) +} +``` + +我们开启了2个`Producer`生产流水线,分别用于生成3和5的倍数的序列。然后开启1个`Consumer`消费者线程,打印获取的结果。我们通过在`main`函数休眠一定的时间来让生产者和消费者工作一定时间。正如前面一节说的,这种靠休眠方式是无法保证稳定的输出结果的。 + +我们可以让`main`函数保存阻塞状态不退出,只有当用户输入`Ctrl-C`时才真正退出程序: + +```go +func main() { + ch := make(chan int, 64) // 成果队列 + + go Producer(3, ch) // 生成 3 的倍数的序列 + go Producer(5, ch) // 生成 5 的倍数的序列 + go Consumer(ch) // 消费 生成的队列 + + // Ctrl+C 退出 + ch := make(chan os.Signal, 1) + signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) + fmt.Printf("quit (%v)\n", <-ch) +} +``` + +我们这个例子中有2个生产者,并且两个生产者之间并无同步事件可参考,它们是并发的。因此,消费者输出的结果序列的顺序也是不确定的,这并没有问题,生产者和消费者依然可以相互配合工作。 + +## 发布订阅模型 + +发布/订阅(publish-and-subscribe)模型通常被简写为pub/sub模型。在这个模型中,消息生产者成为发布者(publisher),而消息消费者则称对应订阅者(subscriber),生产者和消费者是M:N的关系。在传统生产者和消费者模型中,成果是将消息发送到一个队列中,而发布/订阅模型则是将消息发布给一个主题。 + +为此,我们构建了一个名为`pubsub`的发布订阅模型支持包: + +```go +// Package pubsub implements a simple multi-topic pub-sub library. +package pubsub + +import ( + "sync" + "time" +) + +type ( + subscriber chan interface{} // 订阅者为一个管道 + topicFunc func(v interface{}) bool // 主题为一个过滤器 +) + +// 发布者对象 +type Publisher struct { + m sync.RWMutex // 读写锁 + buffer int // 订阅队列的缓存大小 + timeout time.Duration // 发布超时时间 + subscribers map[subscriber]topicFunc // 订阅者信息 +} + +// 构建一个发布者对象, 可以设置发布超时时间和缓存队列的长度 +func NewPublisher(publishTimeout time.Duration, buffer int) *Publisher { + return &Publisher{ + buffer: buffer, + timeout: publishTimeout, + subscribers: make(map[subscriber]topicFunc), + } +} + +// 添加一个新的订阅者,订阅全部主题 +func (p *Publisher) Subscribe() chan interface{} { + return p.SubscribeTopic(nil) +} + +// 添加一个新的订阅者,订阅过滤器筛选后的主题 +func (p *Publisher) SubscribeTopic(topic topicFunc) chan interface{} { + ch := make(chan interface{}, p.buffer) + p.m.Lock() + p.subscribers[ch] = topic + p.m.Unlock() + return ch +} + +// 退出订阅 +func (p *Publisher) Evict(sub chan interface{}) { + p.m.Lock() + defer p.m.Unlock() + + delete(p.subscribers, sub) + close(sub) +} + +// 发布一个主题 +func (p *Publisher) Publish(v interface{}) { + p.m.RLock() + defer p.m.RUnlock() + + var wg sync.WaitGroup + for sub, topic := range p.subscribers { + wg.Add(1) + go p.sendTopic(sub, topic, v, &wg) + } + wg.Wait() +} + +// 关闭发布者对象,同时关闭所有的订阅者管道。 +func (p *Publisher) Close() { + p.m.Lock() + defer p.m.Unlock() + + for sub := range p.subscribers { + delete(p.subscribers, sub) + close(sub) + } +} + +// 发送主题,可以容忍一定的超时 +func (p *Publisher) sendTopic(sub subscriber, topic topicFunc, v interface{}, wg *sync.WaitGroup) { + defer wg.Done() + if topic != nil && !topic(v) { + return + } + + select { + case sub <- v: + case <-time.After(p.timeout): + } +} +``` + +下面的例子中,有两个订阅者分别订阅了全部主题和含有"golang"的主题: + +```go +import "path/to/pubsub" + +func main() { + p := pubsub.NewPublisher(100*time.Millisecond, 10) + defer p.Close() + + all := p.Subscribe() + golang := p.SubscribeTopic(func(v interface{}) bool { + if s, ok := v.(string); ok { + return strings.Contains(s, "golang") + } + return false + }) + + p.Publish("hello, world!") + p.Publish("hello, golang!") + + go func() { + for _, msg := all { + fmt.Println("all:", msg) + } + } () + + go func() { + for _, msg := golang { + fmt.Println("golang:", msg) + } + } () + + // 运行一定时间后退出 + time.Sleep(3 * time.Second) +} +``` + +在发布订阅模型中,每条消息都会传送给多个订阅者。发布者通常不会知道、也不关心哪一个订阅者正在接收主题消息。订阅者和发布者可以在运行时动态添加是一种松散的耦合关心,这使得系统的复杂性可以随时间的推移而增长。在现实生活中,不同城市的象天气预报之类的应用就是可以应用这个并发模式。 + +## 赢者为王 + +采用并发编程的动机有很多:并发编程可以简化问题,比如一类问题对应一个处理线程会更简单;并发编程还可以提升性能,在一个多核CPU上开2个线程一般会比开1个线程快一些。其实对于提升性能而言,程序并不是简单地运行速度快就表示用户体验好的;很多时候程序能快速响应用户请求才是最重要的,当没有用户请求需要处理的时候才合适处理一些低优先级的后台任务。 + +假设我们想快速地检索“golang”相关的主题,我们可能会同时打开Bing、Google或百度等多个检索引擎。当某个检索最先返回结果后,就可以关闭其它检索页面了。因为受限于网络环境和检索引擎算法的影响,某些检索引擎可能很快返回检索结果,某些检索引擎也可能遇到等到他们公司倒闭也没有完成检索的情况。我们可以采用类似的策略来编写这个程序: + +```go +func main() { + ch := make(chan string, 32) + + go func() { + ch <- searchByBing("golang") + } + go func() { + ch <- searchByGoogle("golang") + } + go func() { + ch <- searchByBaidu("golang") + } + + fmt.Println(<-ch) +} +``` + +首先,我们创建了一个带缓存的管道,管道的缓存数目要足够大,保证不会因为缓存的容量引起不必要的阻塞。然后我们开启了多个后台线程,分别向不同的检索引擎提交检索请求。当任意一个检索引擎最先有结果之后,都会马上将结果发到管道中(因为管道带了足够的缓存,这个过程不会阻塞)。但是最终我们只从管道取第一个结果,也就是最先返回的结果。 + +通过适当开启一些冗余的线程,尝试用不同途径去解决同样的问题,最终以赢者为王的方式提升了程序的相应性能。 + +## 控制并发数 + +很多用户在适应了Go语言强大的并发特性之后,都倾向于编写最大并发的程序,因为这样似乎可以提供最大的性能。很多时候我们确实需要放慢我们的脚步享受生活,并发的程序也是一样:有时候我们需要适当地控制并发的程度,因为这样不仅仅可给给其它的应用让出一定的CPU资源,给新的任务预留一定的计算资源,也可以适当降低功耗缓解电池的压力。 + +在Go语言自带的godoc程序实现中有一个`vfs`的包对应虚拟的文件系统,在`vfs`包下面有一个`gatefs`的子包,`gatefs`子包的目的就是为了控制访问该虚拟文件系统的最大并发数。`gatefs`包的应用很简单: + +```go +import ( + "golang.org/x/tools/godoc/vfs" + "golang.org/x/tools/godoc/vfs/gatefs" +) + +func main() { + fs := gatefs.New(vfs.OS("/path"), make(chan bool, 8)) + // ... +} +``` + +其中`vfs.OS("/path")`基于本地文件系统构造一个虚拟的文件系统,然后`gatefs.New`基于现有的虚拟文件系统构造一个并发受控的虚拟文件系统。并发数控制的原理在前面一节已经讲过,就是通过带缓存管道的发送和接收规则来实现最大并发阻塞: + +```go +var limit = make(chan int, 3) + +func main() { + for _, w := range work { + go func() { + limit <- 1 + w() + <-limit + }() + } + select{} +} +``` + +不过`gatefs`对此做一个抽象类型`gate`,增加了`enter`和`leave`方法分别对应并发代码的进入和离开。当超出并发数目限制的时候,`enter`方法会阻塞直到并发数降下来为止。 + +```go +type gate chan bool + +func (g gate) enter() { g <- true } +func (g gate) leave() { <-g } +``` + +`gatefs`包装的新的虚拟文件系统就是将需要控制并发的方法增加了`enter`和`leave`调用而已: + +```go +type gatefs struct { + fs vfs.FileSystem + gate +} + +func (fs gatefs) Lstat(p string) (os.FileInfo, error) { + fs.enter() + defer fs.leave() + return fs.fs.Lstat(p) +} +``` + +我们不仅可以控制最大的并发数目,而且可以通过带缓存Channel的使用量和最大容量比例来判断程序运行的并发率。当管道为空的时候可以认为是空闲状态,当管道满了时任务是繁忙状态,这对于后台一些低级任务的运行是有参考价值的。增加的方法如下: + +```go +func (g gate) Len() int { return len(g) } +func (g gate) Cap() int { return cap(g) } + +func (g gate) Idle() bool { return len(g) == 0 } +func (g gate) Busy() bool { return len(g) == cap(g) } + +func (g gate) Fraction() float64 { + return float64(len(g)) / float64(cap(g)) +} +``` + +然后我们可以在相对空闲的时候处理一些后台低优先级的任务,在并发相对繁忙或超出一定比例的时候提供预警: + +```go +func New(fs vfs.FileSystem, gate chan bool) *gatefs { + p := &gatefs{fs, gate} + + // 后台监控线程 + go func() { + for { + switch { + case p.gate.Idle(): + // 处理后台任务 + case p.gate.Fraction() >= 0.7: + // 并发预警 + default: + time.Sleep(time.Second) + } + } + }() + + return p +} +``` + +这样我们通过后台线程就可以根据程序的状态动态调整自己的工作模式。 + +## 素数筛 + +在“Hello world 的革命”一节中,我们为了演示Newsqueak的并发特性,文中给出了并发版本素数筛的实现。并发版本的素数筛是一个经典的并发例子,通过它我们可以更深刻地理解Go语言的并发特性。“素数筛”的原理如图: + +![](../images/prime-sieve.png) + +我们需要先生成最初的`2, 3, 4, ...`自然数序列(不包含开头的0、1): + +```go +// 返回生成自然数序列的管道: 2, 3, 4, ... +func GenerateNatural() chan int { + ch := make(chan int) + go func() { + for i := 2; ; i++ { + ch <- i + } + }() + return ch +} +``` + +`GenerateNatural`函数内部启动一个Goroutine生产序列,返回对应的管道。 + +然后是为每个素数构造一个筛子:将输入序列中是素数倍数的数提出,并返回新的序列,是一个新的管道。 + +```go +// 管道过滤器: 删除能被素数整除的数 +func PrimeFilter(in <-chan int, prime int) chan int { + out := make(chan int) + go func() { + for { + if i := <-in; i%prime != 0 { + out <- i + } + } + }() + return out +} +``` + +`PrimeFilter`函数也是内部启动一个Goroutine生产序列,返回过滤后序列对应的管道。 + +现在我们可以在`main`函数中驱动这个并发的素数筛了: + +```go +func main() { + ch := GenerateNatural() // 自然数序列: 2, 3, 4, ... + for i := 0; i < 100; i++ { + prime := <-ch // 新出现的素数 + fmt.Printf("%v: %v\n", i+1, prime) + ch = PrimeFilter(ch, prime) // 基于新素数构造的过滤器 + } +} +``` + +我们先是调用`GenerateNatural()`生成最原始的从2开始的自然数序列。然后开始一个100次迭代的循环,希望生成100个素数。在每次循环迭代开始的时候,管道中的第一个数必定是素数,我们先读取并打印这个素数。然后基于管道中剩余的数列,并以当前取出的素数为筛子过滤后面的素数。不同的素数筛子对应的管道是串联在一起的。 + +素数筛展示了一种优雅的并发程序结构。但是因为每个并发体处理的任务粒度太细微,程序整体的性能并不理想。对于细力度的并发程序,CSP模型中固有的消息传递的代价太高了(多线程并发模型同样要面临线程启动的代价)。 + +## 并发的安全退出 + +有时候我们需要通知goroutine停止它正在干的事情,特别是当它工作在错误的方向上的时候。Go语言并没有提供在一个直接终止Goroutine的方法,由于这样会导致goroutine之间的共享变量落在未定义的状态上。但是如果我们想要退出两个或者任意多个Goroutine怎么办呢? + +Go语言中不同Goroutine之间主要依靠管道进行通信和同步。要同时处理多个管道的发送或接收操作,我们需要使用`select`关键字(这个关键字和网络编程中的`select`函数的行为类似)。当`select`有多个分支时,会随机选择一个可用的管道分支,如果没有可用的管道分支则选择`default`分支,否则会一直保存阻塞状态。 + +基于`select`实现的管道的超时判断: + +```go + select { + case v := <-in: + fmt.Println(v) + case <-time.After(time.Second): + return // 超时 + } +``` + +通过`select`的`default`分支实现非阻塞的管道发送或接收操作: + +```go + select { + case v := <-in: + fmt.Println(v) + default: + // 没有数据 + } +``` + +通过`select`来阻止`main`函数退出: + +```go +func main() { + // do some thins + select{} +} +``` + +当有多个管道均可操作时,`select`会随机选择一个管道。基于该特性我们可以用`select`实现一个生成随机数列的程序: + +```go +func main() { + ch := make(chan int) + go func() { + for { + select { + case ch <- 0: + case ch <- 1: + } + } + }() + + for v := range ch { + fmt.Println(v) + } +} +``` + +我们通过`select`和`default`分支可以很容易实现一个Goroutine的退出控制: + +```go +func worker(cannel chan bool) { + for { + select { + default: + fmt.Println("hello") + // 正常工作 + case <-cannel: + // 退出 + } + } +} + +func main() { + cannel := make(chan bool) + go worker(cannel) + + time.Sleep(time.Second) + cannel <- true +} +``` + +但是管道的发送操作和接收操作是一一对应的,如果要停止多个Goroutine那么可能需要创建同样数量的管道,这个代价太大了。其实我们可以通过`close`关闭一个管道来实现广播的效果,所有从关闭管道接收的操作均会收到一个零值和一个可选的失败标志。 + +```go +func worker(cannel chan bool) { + for { + select { + default: + fmt.Println("hello") + // 正常工作 + case <-cannel: + // 退出 + } + } +} + +func main() { + cancel := make(chan bool) + + for i := 0; i < 10; i++ { + go worker(cancel) + } + + time.Sleep(time.Second) + close(cancel) +} +``` + +我们通过`close`来关闭`cancel`管道向多个Goroutine广播退出的指令。不过这个程序依然不够稳健:当每个Goroutine收到退出指令退出时一般会进行一定的清理工作,但是退出的清理工作并不能保证被完成,因为`main`线程并没有等待各个工作Goroutine退出工作完成的机制。我们可以结合`sync.WaitGroup`来改进: + +```go +func worker(wg *sync.WaitGroup, cannel chan bool) { + defer wg.Done() + + for { + select { + default: + fmt.Println("hello") + case <-cannel: + return + } + } +} + +func main() { + cancel := make(chan bool) + + var wg sync.WaitGroup + for i := 0; i < 10; i++ { + wg.Add(1) + go worker(&wg, cancel) + } + + time.Sleep(time.Second) + close(cancel) + wg.Wait() +} +``` + +现在每个工作者并发体的创建、运行、暂停和退出都是在`main`函数的安全控制之下了。 + +## 消费海量的请求 + +在前面的生产者、消费者并发模型中,只有当生产者和消费的速度近似相等时才会达到最佳的效果,同时通过引入带缓存的管道可以消除因临时效率波动产生的影响。但是当生产者和消费者的速度严重不匹配时,我们是无法通过带缓存的管道来提高性能的(缓存的管道只能延缓问题发生的时间,无法消除速度差异带来的问题)。当消费者无法及时消费生产者的输出时,时间积累会导致问题越来越严重。 + +对于生产者、消费者并发模型,我们当然可以通过降低生产者的产能来避免资源的浪费。但在很多场景中,生产者才是核心对象,它们生产出各种问题或任务单据,这时候产出的问题是必须要解决的、任务单据也是必须要完成的。在现实生活中,制造各种生活垃圾的海量人类其实就是垃圾生产者,而清理生活垃圾的少量的清洁工就是垃圾消费者。在网络服务中,提交POST数据的海量用户则变成了生产者,Web后台服务则对应POST数据的消费者。海量生产者的问题也就变成了:如何构造一个能够处理海量请求的Web服务(假设每分钟百万级请求)。 + +在Web服务中,用户提交的每个POST请求可以看作是一个Job任务,而服务器是通过后台的Worker工作者来消费这些Job任务。当面向海量的Job处理时,我们一般可以通过构造一个Worker工作者池来提高Job的处理效率;通过通过一个带缓存的Job管道来接收新的任务请求,避免任务请求功能无法响应;Job请求接收管道和Worker工作者池通过分发系统来衔接。 + +我们可以用管道来模拟工作者池:当需要处理一个任务时,先从工作者池取一个工作者,处理完任务之后将工作者返回给工作者池。`WorkerPool`对应工作者池,`Worker`对应工作者。 + +```go +type WorkerPool struct { + workers []*Worker + pool chan *Worker +} + +// 构造工作者池 +func NewWorkerPool(maxWorkers int) *WorkerPool { + p := &WorkerPool{ + workers: make([]*Worker, maxWorkers) + pool: make(chan *Worker, maxWorkers) + } + + // 初始化工作者 + for i, _ := range p.workers { + worker := NewWorker(0) + p.workers[i] = worker + p.pool <- worker + } + return p +} + +// 启动工作者 +func (p *WorkerPool) Start() { + for _, worker := range p.workers { + worker.Start() + } +} + +// 停止工作者 +func (p *WorkerPool) Stop() { + for _, worker := range p.workers { + worker.Stop() + } +} + +// 获取工作者(阻塞) +func (p *WorkerPool) Get() *Worker { + return <-p.pool +} + +// 返回工作者 +func (p *WorkerPool) Put(w *Worker) { + p.pool <- w +} +``` + +工作者池通过一个带缓存的管道来提高工作者的管理。当所有工作者都在处理任务时,工作者的获取会阻塞自动有工作者可用为止。 + +`Worker`对应工作者实现,具体任务由后台一个固定的Goroutine完成,和外界通过专有的管道通信(工作者的私有管道也可以选择带有一定的缓存)具体实现如下: + +```go +type Worker struct { + job chan interface{} + quit chan bool + wg sync.WaitGroup +} + +// 构造工作者 +func NewWorker(maxJobs int) *Worker { + return &Worker{ + job: make(chan interface{}, maxJobs), + quit: make(chan bool), + } +} + +// 启动任务 +func (w *Worker) Start() { + p.wg.Add(1) + + go func() { + defer p.wg.Done() + + for { + // 接收任务 + // 此时工作中已经从工作者池中取出 + select { + case job := <-p.job: + // 处理任务 + + case <-w.quit: + return + } + } + }() +} + +// 关闭任务 +func (p *Worker) Stop() { + p.quit <- true + p.wg.Wait() +} + +// 提交任务 +func (p *Worker) AddJob(job interface{}) { + p.job <- job +} +``` + +任务的分发系统在`Service`对象中完成: + +```go +type Service struct { + workers *WorkerPool + jobs chan interface{} + maxJobs int + wg sync.WaitGroup +} + +func NewService(maxWorkers, maxJobs int) *Service { + return &Service { + workers: NewWorkerPool(maxWorkers), + jobs: make(chan interface{}, maxJobs), + } +} + +func (p *Service) Start() { + p.jobs = make(chan interface{}, maxJobs) + + p.wg.Add(1) + p.workers.Start() + + go func() { + defer p.wg.Done() + + for job := range p.jobs: + go func(job Job) { + // 从工作者池取一个工作者 + worker := p.workers.Get() + + // 完成任务后返回给工作者池 + defer p.workers.Put(worker) + + // 提交任务处理(异步) + worker.AddJob(job) + }(job) + } + }() +} +func (p *Service) Stop() { + p.workers.Stop() + close(p.jobs) + p.wg.Wait() +} + +// 提交任务 +// 任务管道带较大的缓存, 延缓阻塞的时间 +func (p *Service) AddJob(job interface{}) { + p.jobs <- job +} +``` + +主程序可以是一个wen服务器: + +```go +var ( + MaxWorker = os.Getenv("MAX_WORKERS") + MaxQueue = os.Getenv("MAX_QUEUE") +) + +func main() { + service := NewService(MaxWorker, MaxQueue) + + service.Start() + defer service.Stop() + + // 处理海量的任务 + http.HandleFunc("/jobs", func(w http.ResponseWriter, r *http.Request) { + if r.Method != "POST" { + w.WriteHeader(http.StatusMethodNotAllowed) + return + } + + // Job以JSON格式提交 + var jobs []Job + err := json.NewDecoder(io.LimitReader(r.Body, MaxLength)).Decode(&jobs) + if err != nil { + w.Header().Set("Content-Type", "application/json; charset=UTF-8") + w.WriteHeader(http.StatusBadRequest) + return + } + + // 处理任务 + for _, job := range jobs { + service.AddJob(job) + } + + // OK + w.WriteHeader(http.StatusOK) + }) + + // 启动web服务 + log.Fatal(http.ListenAndServe(":8080", nil)) +} +``` + +基于Go语言特有的管道和Goroutine特性,我们以非常简单的方式设计了一个针对海量请求的处理系统结构。在世纪的系统中,用户可以根据任务的具体类型和特性,将管道定义为具体类型以避免接口等动态特性导致的开销。 + +## 更多 + +在Go1.7发布时,标准库增加了一个`context`包,用来简化对于处理单个请求的多个Goroutine之间与请求域的数据、超时和退出等操作,官方有博文对此做了专门介绍。我们可以用`context`包来重新实现前面的线程安全退出或超时的控制: + +```go +func worker(ctx context.Context, wg *sync.WaitGroup) error { + defer wg.Done() + + for { + select { + default: + fmt.Println("hello") + case <-ctx.Done(): + return ctx.Err() + } + } +} + +func main() { + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + + var wg sync.WaitGroup + for i := 0; i < 10; i++ { + wg.Add(1) + go worker(ctx, &wg) + } + + time.Sleep(time.Second) + cancel() + + wg.Wait() +} +``` + +当并发体超时或`main`主动停止工作者Goroutine时,每个工作者都可以安全退出。 + +Go语言是带内存自动回收的特性,因此内存一般不会泄漏。在前面素数筛的例子中,`GenerateNatural`和`PrimeFilter`函数内部都启动了新的Goroutine,当`main`函数不再使用管道时后台Goroutine有泄漏的风险。我们可以通过`contxt`包来避免做个问题,下面是改进的素数筛实现: + +```go +// 返回生成自然数序列的管道: 2, 3, 4, ... +func GenerateNatural(ctx context.Context) chan int { + ch := make(chan int) + go func() { + for i := 2; ; i++ { + select { + case <- ctx.Done(): + return + case ch <- i: + } + } + }() + return ch +} + +// 管道过滤器: 删除能被素数整除的数 +func PrimeFilter(ctx context.Context, in <-chan int, prime int) chan int { + out := make(chan int) + go func() { + for { + if i := <-in; i%prime != 0 { + select { + case <- ctx.Done(): + return + case out <- i: + } + } + } + }() + return out +} + +func main() { + // 通过 Context 控制后台Goroutine状态 + ctx, cancel := context.WithCancel(context.Background()) + + ch := GenerateNatural(ctx) // 自然数序列: 2, 3, 4, ... + for i := 0; i < 100; i++ { + prime := <-ch // 新出现的素数 + fmt.Printf("%v: %v\n", i+1, prime) + ch = PrimeFilter(ctx, ch, prime) // 基于新素数构造的过滤器 + } + + cancel() +} +``` + +当main函数完成工作前,通过调用`cancel()`来通知后台Goroutine退出,这样就避免了Goroutine的泄漏。 + +并发是一个非常大的主题,我们这里只是展示几个非常基础的并发编程的例子。官方文档也有很多关于并发编程的讨论,国内也有专门讨论Go语言并发编程的书籍。读者可以根据自己的需求查阅相关的文献。 diff --git a/ch1-basic/ch1-07-error-and-panic.md b/ch1-basic/ch1-07-error-and-panic.md new file mode 100644 index 0000000..e8dcff3 --- /dev/null +++ b/ch1-basic/ch1-07-error-and-panic.md @@ -0,0 +1,429 @@ +# 1.7. 错误和异常 + +错误处理是每个编程语言都要考虑的一个重要话题。在Go语言的错误处理中,错误是软件包API和应用程序用户界面的一个重要组成部分。 + +在程序中总有一部分函数总是要求必须能够成功的运行。比如`strconv.Itoa`将整数转换为字符串,从数组或切片中读写元素,从`map`读取已经存在的元素等。这类操作在运行时几乎不会失败,除非程序中有BUG,或遇到灾难性的、不可预料的情况,比如运行时的内存溢出。如果真的遇到真正异常情况,我们只要简单终止程序就可以了。 + +排除异常的情况,如果程序运行失败仅被认为是几个预期的结果之一。对于那些将运行失败看作是预期结果的函数,它们会返回一个额外的返回值,通常是最后一个来传递错误信息。如果导致失败的原因只有一个,额外的返回值可以是一个布尔值,通常被命名为ok。比如,当从一个`map`查询一个结果时,可以通过额外的布尔值判断是否成功: + +```go +if v, ok := m["key"]; ok { + return value +} +``` + +但是导致失败的原因通常不止一种,很多时候用户希望了解更多的错误信息。如果只是用简单的布尔类型的状态值将不能满足这个要求。在C语言中,默认采用一个整数类型的`errno`来表达错误,这样就可以根据需要定义多种错误类型。在Go语言中,`syscall.Errno`就是对应C语言中`errno`类型的错误。在`syscall`包中的接口,如果有返回错误的话,底层也是`syscall.Errno`错误类型。 + +比如我们通过`syscall`包的接口来修改文件的模式时,如果遇到错误我们可以将`err`强制断言为`syscall.Errno`错误类型处理: + +```go +err := syscall.Chmod(":invalid path:", 0666) +if err != nil { + log.Fatal(err.(syscall.Errno)) +} +``` + +我们还可以进一步地通过类型查询或类型断言来获取底层真实的错误类型,这样就可以获取更详细的错误信息。不过一般情况下我们并不关心错误在底层的表达方式,我们只需要知道它是一个错误就可以了。当返回的错误值不是`nil`时,我们可以通过调用`error`接口类型的`Error`方法来获得字符串类型的错误信息。 + +在Go语言中,错误被认为是一种可以预期的结果;而异常则是一种非预期的结果,发生异常可能表示程序中存在BUG或发生了其它不可控的问题。Go语言推荐使用`recover`函数将内部异常转为错误处理,这使得用户可以真正的关心业务相关的错误处理。 + +如果某个接口简单地将所有普通的错误当做异常抛出,将会错误的信息杂乱没有价值。就像在`main`函数中直接捕获全部一样,是没有意义的: + +```go +func main() { + defer func() { + if r := recover(); r != nil { + log.Fatal(r) + } + }() + + ... +} +``` + +捕获异常不是最终的目的。如果异常不可预测,直接输出异常信息是最好的处理方式。 + +## 错误处理策略 + +让我们演示一个文件复制的例子:函数需要打开两个文件,然后将其中一个文件的内容复制到另一个文件: + +```go +func CopyFile(dstName, srcName string) (written int64, err error) { + src, err := os.Open(srcName) + if err != nil { + return + } + + dst, err := os.Create(dstName) + if err != nil { + return + } + + written, err = io.Copy(dst, src) + dst.Close() + src.Close() + return +} +``` + +上面的代码虽然能够工作,但是隐藏一个bug。如果第二个`os.Open`调用失败,那么会在没有释放`src`文件资源的情况下返回。虽然我们可以通过在第二个返回语句前添加`src.Close()`调用来修复这个BUG;但是当代码变得复杂时,类似的问题将很难被发现和修复。我们可以通过`defer`语句来确保每个被正常打开的文件都能被正常关闭: + +```go +func CopyFile(dstName, srcName string) (written int64, err error) { + src, err := os.Open(srcName) + if err != nil { + return + } + defer src.Close() + + dst, err := os.Create(dstName) + if err != nil { + return + } + defer dst.Close() + + return io.Copy(dst, src) +} +``` + +`defer`语言可以让我们在打开文件时马上思考如何关闭文件。不管函数如何返回,文件关闭语句始终会被执行。同时`defer`语句可以保证,即使`io.Copy`发生了异常,文件依然可以安全地关闭。 + +前文我们说到,Go语言中的导出函数一般不抛出异常,一个未受控的异常可以看作是程序的BUG。但是对于有一些提供类似Web服务的框架而言;它们经常需要接入第三方的中间件。因为第三方的中间件是否存在BUG是否会抛出异常,Web框架本身是不能确定的。为了提高系统的稳定性,Web框架一般会通过`recover`来防御性地捕获所有处理流程中可能产生的异常,然后将异常转为普通的错误返回。 + +让我们以JSON解析器为例,说明recover的使用场景。考虑到JSON解析器的复杂性,即使某个语言解析器目前工作正常,也无法肯定它没有漏洞。因此,当某个异常出现时,我们不会选择让解析器崩溃,而是会将panic异常当作普通的解析错误,并附加额外信息提醒用户报告此错误。 + +```go +func ParseJSON(input string) (s *Syntax, err error) { + defer func() { + if p := recover(); p != nil { + err = fmt.Errorf("JSON: internal error: %v", p) + } + }() + // ...parser... +} +``` + +在标准库中的`json`包,在内部递归解析JSON数据的时候如果遇到错误,会通过抛出异常的方式来快速跳出深度嵌套的函数调用,然后由最外以及的接口通过`recover`捕获`panic`,然后返回相应的错误信息。 + +Go语言库的实现习惯: 即使在包内部使用了`panic`,但是在导出函数时会被转化为明确的错误值。 + +# 获取错误的上下文 + +有时候为了方便上层用户理解;很多时候底层实现者会将底层的错误重新包装为新的错误类型返回给用户: + +```go +if _, err := html.Parse(resp.Body); err != nil { + return nil, fmt.Errorf("parsing %s as HTML: %v", url,err) +} +``` + +上层用户在遇到错误时,可以很容易从业务层面理解错误发生的原因。但是鱼和熊掌总是很难兼得,在上层用户获得新的错误的同时,我们也丢失了底层最原始的错误类型(只剩下错误描述信息了)。 + +为了记录这种错误类型在包装的变迁过程中的信息,我们一般会定义一个辅助的`WrapError`函数,用于包装原始的错误,同时保留完整的原始错误类型。为了问题定位的方便,同时也为了能记录错误发生时的函数调用状态,我们很多时候希望在出现致命错误的时候保存完整的函数调用信息。同时,为了支持RPC等跨网络的传输,我们可能要需要将错误序列号为为类似JSON的数据,然后再从表示原始错误的JSON数据中解码恢复错误。 + +为此,我们可以定义自己的`github.com/chai2010/errors`包,里面以下的错误类型: + +```go + +type Error interface { + Caller() []CallerInfo + Wraped() []error + Code() int + error + + private() +} + +type CallerInfo struct { + FuncName string + FileName string + FileLine int +} +``` + +其中`Error`为接口类型,是`error`接口类型的扩展,用于给错误增加调用栈信息,同时支持错误的多级嵌套包装,支持支持错误码格式。为了使用方便,我们可以定义以下的辅助函数: + +```go +func New(msg string) error +func NewWithCode(code int, msg string) error + +func Wrap(err error, msg string) error +func WrapWithCode(code int, err error, msg string) error + +func FromJson(json string) (Error, error) +func ToJson(err error) string +``` + +`New`用于构建新的错误类型,和标准库中`errors.New`功能类似,但是增加了出错误时的函数调用栈信息。`FromJson`用于从JSON字符串编码的错误中恢复错误对象。`NewWithCode`则是构造一个带错误码的错误,同时也包含出错误时的函数调用栈信息。`Wrap`和`WrapWithCode`则是错误二次包装函数,用于将底层的错误包装为新的错误,但是保留的原始的底层错误信息。这里返回的错误对象都可以直接调用`json.Marshal`将错误编码为JSON字符串。 + +我们可以这样使用包装函数: + +```go +import ( + "github.com/chai2010/errors" +) + +func loadConfig() error { + _, err := ioutil.ReadFile("/path/to/file") + if err != nil { + return errors.Wrap(err, "read failed") + } + + // ... +} + +func setup() error { + err := loadConfig() + if err != nil { + return errors.Wrap(err, "invalid config") + } + + // ... +} + +func main() { + if err := setup(); err != nil { + log.Fatal(err) + } + + // ... +} +``` + +上面的例子中,错误被进行了2层包装。我们可以这样遍历原始错误经历了哪些包装流程: + +```go + for i, e := range err.(errors.Error).Wraped() { + fmt.Printf("wraped(%d): %v\n", i, e) + } +``` + +同时也可以获取每个包装错误的函数调用堆栈信息: + +```go + for i, x := range err.(errors.Error).Caller() { + fmt.Printf("caller:%d: %s\n", i, x.FuncName) + } +``` + +如果需要将错误通过网络传输,可以用`errors.ToJson(err)`编码为JSON字符串: + +```go +// 以JSON字符串方式发送错误 +func sendError(ch chan<- string, err error) { + ch <- errors.ToJson(err) +} + +// 接收JSON字符串格式的错误 +func recvError(ch <-chan string) error { + p, err := errors.FromJson(<-ch) + if err != nil { + log.Fatal(err) + } + return p +} +``` + +对于基于http协议的网络服务,我们还可以给错误绑定一个对应的http状态码: + +```go +err := errors.NewWithCode(404, "http error code") + +fmt.Println(err) +fmt.Println(err.(errors.Error).Code()) +``` + +在Go语言中,错误处理也有一套独特的编码风格。检查某个子函数是否失败后,我们通常将处理失败的逻辑代码放在处理成功的代码之前。如果某个错误会导致函数返回,那么成功时的逻辑代码不应放在`else`语句块中,而应直接放在函数体中。 + +```go +f, err := os.Open("filename.ext") +if err != nil { + // 失败的情形, 马上返回错误 +} + +// 正常的处理流程 +``` + +Go语言中大部分函数的代码结构几乎相同,首先是一系列的初始检查,用于防止错误发生,之后是函数的实际逻辑。 + + +# 错误的错误返回 + +Go语言中的错误是一种接口类型。接口信息中包含了原始类型和原始的值。只有当接口的类型和原始的值都为空的时候,接口的值才对应`nil`。其实当接口中类型为空的时候,原始值必然也是空的;反之,当接口对应的原始值为空的时候,接口对应的原始类型并不一定为空的。 + +在下面的例子中,试图返回自定义的错误类型,当没有错误的时候返回`nil`: + +```go +func returnsError() error { + var p *MyError = nil + if bad() { + p = ErrBad + } + return p // Will always return a non-nil error. +} +``` + +但是,最终返回的结果其实并非是`nil`:是一个正常的错误,错误的值是一个`MyError`类型的空指针。下面是改进的`returnsError`: + +```go +func returnsError() error { + if bad() { + return (*MyError)(err) + } + return nil +} +``` + +因此,在处理错误返回值的时候,没有错误的返回值最好直接写为`nil`。 + +Go语言作为一个强类型语言,不同类型之前必须要显示的转换(而且必须有相同的基础类型)。但是,Go语言中`interface`是一个例外:非接口类型到接口类型,或者是接口类型之间的转换都是隐式的。这是为了支持方便的鸭子面向对象编程,当然会牺牲一定的安全特性。 + +# 剖析异常 + +`panic`支持抛出任意类型的异常(而不仅仅是`error`类型的错误),`recover`函数调用的返回值和`panic`函数的输入参数类型一致,它们的函数签名如下: + +```go +func panic(interface{}) +func recover() interface{} +``` + +Go语言函数调用的正常流程是函数执行返回语句返回结果,在这个流程中是没有异常的,因此在这个流程中执行`recover`异常捕获函数始终是返回`nil`。另一种是异常流程: 当函数调用`panic`抛出异常,函数将停止执行后续的普通语句,但是之前注册的`defere`函数调用仍然保证会被正常执行,然后再返回到的调用者。对于当前函数的调用者,因为处理异常状态还没有被捕获,和直接调用`panic`函数的行为类似。在异常发生时,如果在`defer`中执行`recover`调用,它可以捕获触发`panic`时的参数,并且恢复到正常的执行流程。 + +在非`defer`语句中执行`recover`调用是初学者常犯的错误: + +```go +func main() { + if r := recover(); r != nil { + log.Fatal(r) + } + + panic(123) + + if r := recover(); r != nil { + log.Fatal(r) + } +} +``` + +上面程序中两个`recover`调用都不能捕获任何异常。在第一个`recover`调用执行时,函数必然是在正常的非异常执行流程中,这时候`recover`调用将返回`nil`。发生异常时,第二个`recover`调用将没有机会被执行到,因为`panic`调用会导致函数马上执行已经注册`defer`的函数后返回。 + +其实`recover`函数调用有着更严格的要求:我们必须在`defer`函数中直接调用`recover`。如果`defer`中调用的是`recover`函数的包装函数的话,异常的捕获工作将失败!比如,有时候我们可能希望包装自己的`MyRecover`函数,在内部增加必要的日志信息然后再调用`recover`,这是错误的做法: + +```go +func main() { + defer func() { + // 无法捕获异常 + if r := MyRecover(); r != nil { + fmt.Println(r) + } + }() + panic(1) +} + +func MyRecover() interface{} { + log.Println("trace...") + return recover() +} +``` + +同样,如果是在嵌套的`defer`函数中调用`recover`也将导致无法捕获异常: + +```go +func main() { + defer func() { + defer func() { + // 无法捕获异常 + if r := recover(); r != nil { + fmt.Println(r) + } + }() + }() + panic(1) +} +``` + +2层嵌套的`defer`函数中直接调用`recover`和1层`defer`函数中调用包装的`MyRecover`函数一样,都是经过了2个函数帧才到达真正的`recover`函数,这个时候Goroutine的对应上一级栈帧中已经没有异常信息。 + +如果我们直接在`defer`语句中调用`MyRecover`函数又可以正常工作了: + +```go +func MyRecover() interface{} { + return recover() +} + +func main() { + // 可以正常捕获异常 + defer MyRecover() + panic(1) +} +``` + +但是,如果`defer`语句直接调用`recover`函数,依然不能正常捕获异常: + +```go +func main() { + // 无法捕获异常 + defer recover() + panic(1) +} +``` + +必须要和有异常的栈帧只隔一个栈帧,`recover`函数才能正常捕获异常。换言之,`recover`函数捕获的是祖父一级调用函数栈帧的异常(刚好可以跨越一层`defer`函数)! + +当然,为了避免`recover`调用者不能识别捕获到的异常, 应该避免用`nil`为参数抛出异常: + +```go +func main() { + defer func() { + if r := recover(); r != nil { ... } + // 虽然总是返回nil, 但是可以恢复异常状态 + }() + + // 警告: 用`nil`为参数抛出异常 + panic(nil) +} +``` + +当希望将捕获到的异常转为错误时,如果希望忠实返回原始的信息,需要针对不同的类型分别处理: + +```go +func foo() (err error) { + defer func() { + if r := recover(); r != nil { + switch x := r.(type) { + case string: + err = errors.New(x) + case error: + err = x + default: + err = fmt.Errorf("Unknown panic: %v", r) + } + } + }() + + panic("TODO") +} +``` + +基于这个代码模板,我们甚至可以模拟出不同类型的异常。通过为定义不同类型的保护接口,我们就可以区分异常的类型了: + +```go +func main { + defer func() { + if r := recover(); r != nil { + switch x := r.(type) { + case runtime.Error: + // 这是运行时错误类型异常 + case error: + // 普通错误类型异常 + default: + // 其他类型异常 + } + } + }() + + ... +} +``` + +不过这样做和Go语言简单直接的编程哲学背道而驰了。 diff --git a/ch1-basic/ch1-08-ide.md b/ch1-basic/ch1-08-ide.md new file mode 100644 index 0000000..6f6deae --- /dev/null +++ b/ch1-basic/ch1-08-ide.md @@ -0,0 +1,151 @@ +## 1.8. 配置开发环境 + +工欲善其事,必先利其器!Go语言编程对外部的编辑工具要求甚低,但是配置适合自己的开发环境依然可以达到事倍功半的效果。本节简单介绍几个作者经常使用的Go语言编辑器和轻量级集成开发环境。 + +经过多年的发展完善,目前支持Go语言的开发工具已经很多了。其中LiteIDE是国人visualfc用Qt专门为Go语言开发的跨平台轻量级集成开发环境。在早期的Go语言的核心代码库中也包含了vim/Emacs/Netepad++/Eclipse等工具对Go语言支持的各种插件,目前这些第三方的扩展已经从核心库剥离到外部仓库独立维护。相对完整的IDE或插件列表可以从Go语言的官方wiki页面查看: https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins 。 + +对于Windows环境,Go语言纯代码编写的话推荐Notepad++工具,如果需要代码自动补全和调试的话推荐使用微软的Visual Studio Code集成开发环境。如果是Mac OS X用户,可以选择免费的TextMate编辑器,它被誉为macOS下的Notepad++。如果是想基于iPad Pro平台做轻办公,可以选择收费的Textastic应用,它可以完美地配合Working Copy的Git工作流程,同时支持WebDAV协议。在Linux环境,Go语言纯代码编写的话推荐Gtihub Atom工具,如果是命令行的老司机用户也可以配置自己的Vim/Emacs开发环境,调试环境依然推荐Visual Studio Code。 + +## Windows: Notepad++ + +Notepad++是Windows操作系统下严肃程序员们编写代码的利器!Notepad++不仅仅免费、体积小(安装程序7+MB)、启动迅速,而且对中文的各种编码支持非常友好,支持众多程序语言的语法高亮,对于正则表达式、函数列表、多工程等特性也有不错的支持。 + +首先去Notepad++的官网 http://notepad-plus-plus.org 下载最新的安装包。然后去 https://github.com/chai2010/notepadplus-go 下载针对Go语言的配置文件并安装。需要说明的是,对于Go汇编语言用户来说,notepadplus-go是目前唯一支持Go汇编语言语法高亮和函数列表的开发环境。 + +下面是Go语言的语法高亮预览,其中右侧是Go函数列表: + +![](../images/npp-go.png) + +下面是Go语言汇编的语法高亮预览:其中右侧是汇编函数列表: + +![](../images/npp-go-asm.png) + +对于Protobuf或GRPC的用户,可以从 https://github.com/chai2010/notepadplus-protobuf 下载相应的插件。 + +下面是Protobuf的语法高亮预览: + +![](../images/npp-proto.png) + +**配置Notepad++的语法高亮** + +Notepad++从v6.2版本之后,用户自定义语言文件`userDefineLang.xml`改用`UDL2`语法,这些的配置文件全部采用的是新的`UDL2`的语法。 + +如果是通过Notepad++安装程序安装的,需要将`userDefineLang.xml`文件中的内容添加到`%APPDATA%\Notepad++\userDefineLang.xml`文件中,放在` ... `标签中间,然后重启Notepad++程序。 + +如果是从Notepad++ zip/7z压缩包解压绿色安装,配置文件`userDefineLang.xml`在解压目录。 + + +**配置Notepad++函数列表支持** + +函数列表功能是Notepad++ v6.4新增加的特性,配置方法和语法高亮的配置过程类似。需要注意的是v6.4和v6.5对应的`...`配置语法稍有不同,具体请参考`functionList.xml`文件中的注释说明。 + +如果是采用Notepad++安装程序安装的,需要将`functionList.xml`文件中的内容添加到`%APPDATA%\Notepad++\functionList.xml`文件中,放到` ... `和` ... `标签中间,然后重启Notepad++程序。 + +如果是从Notepad++ zip/7z压缩包解压绿色安装,配置文件`functionList.xml`在解压目录。 + +**Notepad++内置函数的自动补全** + +Notepad++还支持关键字的自动补全。假设Notepad++安装在``目录,将`go.xml`文件复制到`\plugins\APIs`目录下,然后重启Notepad++程序。 + +下面是内置函数`println`自动补全后函数参数提示的预览图: + +![](../images/npp-auto-completion.png) + +这是一个比较鸡肋的功能,用户根据自己需要选择是否安装。 + +## 命令行窗口 + +对于Go语言开发来说,需要经常在命令行运行`go fmt`、`go test`、`go run x.go`等辅助工具。虽然Notepad++也可以将这些工具配置成标准的菜单中,但是命令行依然是不可缺少的开发环境。 + +不过Windows自带的命令行工具比较简陋,不是理想的命令行开发环境。如果读者还没有自己合适命令行环境,可以试试ConEmu这个免费命令行软件。ConEmu支持多标签页窗口,复制粘贴也比较方便。下面是ConEmu的预览图: + +![](../images/ConEmu.png) + + +ConEmu的主页在:http://conemu.github.io/ 。 + +## macOS: TextMate + +对于macOS平台的用户,免费的轻量级软件推荐TextMate编辑器。TextMate是macOS下的Notepadd++工具。支持目录列表,支持Go语言的诸多特性。下面是TextMate的预览图: + +![](../images/TextMate-1.png) + +对于iPad Pro用户,目前也有不少编辑软件对Go语言提供了不错的支持。比如Textastic Code、Coda等,很多都支持iPad和macOS平台的同步,它们一般都是需要单独购买的收费软件。 + + +## iOS: Textastic + +Textastic是一款收费应用,它是macOS/iOS下著名的轻量级代码编辑工具,支持包含Go语言在内的多达80多种编程语言的高亮显示。Textastic功能特点有: + +- 句法高亮,同时支持80余种语言,包含Go语言 +- 与TextMate句法定义,主题兼容 +- 对HTML、CSS、JavaScript、PHP、C、Objective-C支持自动补全代码 +- Symbol list快速导航内容 +- 自动保存代码和版本 +- iCloud同步 (Mountain Lion only) + +在macOS下,Textastic的界面和TextMate非常相似。不过Textastic在左边侧栏提供了基于工程的检索工具。下面是macOS下Textastic的预览图: + +![](../images/macos-textastic.png) + +因为iOS环境不支持编译和调试,如果需要在iOS环境编写Go程序,首先要解决和其他平台的共享问题。这样可以在iOS环境编写代码,然后在其他电脑上进行编译和测试。 + +最简单的共享方式是在iCloud的Textastic专有的目录中创建Go语言的工作区目录,然后通过iCloud方案实现和其他平台共享。此外,还可以通过WebDAV标准协议来实现文件的共享,常见的NAS系统都会提供WebDAV协议的共享方式。另外,用Go语言也很容易临时实现一个WebDAV的服务器,具体请参考第七章中WebDAV的相关主题。 + +下面是iPad Pro下Textastic的预览图: + +![](../images/ios-textastic-02.png) + +如果Go语言代码是放在Git服务器中,可以通过Working Copy应用将仓库克隆到iOS中,然后再Textastic中通过iOS协议打开工作区文件。编辑完成之后,在通过Working Copy将修改提交到中心仓库中。 + +下面是iPad Pro下Working Copy查看Git更新日志的预览图: + +![](../images/ios-working-copy-02.png) + + +## 跨平台编辑器: Github Atom + +Gtihub Atom是Github专门为程序员推出的一个跨平台文本编辑器。具有简洁和直观的图形用户界面,内置支持Go语言语法高亮。同时Github Atom支持宏、自动完成分屏功能,同时集成了文件管理器,对于macOS和Linux用户来说是一个优秀的Go语言编辑器。 + +Github Atom的预览图: + +![](images/atom-01.png) + +Github Atom作为一个Go语言编辑器,不足之处是没有Go汇编语言的高亮显示插件。而且Github Atom对于大文件的支持性能不是很好。 + +## 跨平台IDE: Visual Studio Code + +Visual Studio Code是微软推出的轻量级跨平台集成开发环境,简称VSCode。VSCode最初的目的是支持JavaScript和TypeScript开发,但是它逐步增加了第三方编程语言的支持,目前它已经可以说是最完美的Go语言集成开发环境了。 + +VSCode虽然是基于Gtihub Atom而来,不过VSCode支持Go语言的代码自动补全和调试功能,因此已经超越Github Atom单作为编辑器的定位,是一个轻量级的集成开发环境。VSCode对于大文件的支持也比Gtihub Atom优秀很多。 + +下面是用VScode打开的Go语言工程的预览图: + +![](../images/vscode-01.png) + +因为,VSCode和Gtihub Atom都是采用的Chrome核心,它不仅仅能编辑显示代码,还可以用来显示网页查看图像,甚至可以在一个分屏窗口中播放视频文件: + +![](../images/vscode-02.jpg) + +VSCode安装Go语言插件中,默认的很多参数设置比较严格。比如,默认会使用`golint`来严格检查代码是否符合编码规范,对于git工程启动时还会自动获取和刷新。对于一般的Go语言代码来说,`golint`检测过于严格,很难完全通过(Go语言标准库也无法完全通过),从而导致每次保存时都会提示很多干扰信息。当然,对相对稳定的程序定期做`golint`检查也是有必要,它的信息可以作为我们改进代码的参考。同样的,如果git仓库有密码认证的话,VSCode在启动的时候总是弹出输入密码的对话框。 + +我们可以在工程目录的`.vscode/settings.json`配置文件中定制这些选项。下面配置是强制在保存的时候采用`gofmt`格式化代码,并且关闭保存时`golint`检查。同时在VSCode刚启动的时候,禁止Git自动刷新和获取操作。 + +```json +// 将设置放入此文件中以覆盖默认值和用户设置。 +{ + // Pick 'gofmt', 'goimports' or 'goreturns' to run on format. + "go.formatTool": "gofmt", + + // [EXPERIMENTAL] Run formatting tool on save. + "go.formatOnSave": true, + + // Run 'golint' on save. + "go.lintOnSave": false, + + "git.autorefresh": false, + "git.autofetch": false +} +``` + +VSCode作为一个专业的Go语言集成开发环境,稍显不足之处是没有Go汇编语言的高亮显示插件。 diff --git a/ch1-basic/readme.md b/ch1-basic/readme.md new file mode 100644 index 0000000..7d65331 --- /dev/null +++ b/ch1-basic/readme.md @@ -0,0 +1,3 @@ +# 第一章 语言基础 + +本章首先简要介绍Go语言的发展历史,并较详细地分析了“Hello World”程序在各个祖先语言中演化过程。然后,对以数组、字符串和切片为代表的基础结构,对以函数、方法和接口所体现的面向过程和鸭子对象的编程,以及Go语言特有的并发编程模型和错误处理哲学做了简单介绍。最后,针对macOS、Windows、Linux几个主流的开发平台,推荐了几个较友好的Go语言编辑器和集成开发环境,因为好的工具可以极大地提高我们的效率。 diff --git a/doc.go b/doc.go new file mode 100644 index 0000000..d5865a9 --- /dev/null +++ b/doc.go @@ -0,0 +1,10 @@ +// Copyright 2017 . All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +// 《Go语言高级编程》 开源图书 - by chai2010 +// +// https://github.com/chai2010/advanced-go-programming-book +// +package github_com_chai2010_advanced_go_programming_book diff --git a/images/ConEmu.png b/images/ConEmu.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c42c0d66a4f406fe3aa38074a83af7b96d013b GIT binary patch literal 49354 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 aN1!O-d#6CYF^@sO&v_F|<8ng+`Tqc74C&7R literal 0 HcmV?d00001 diff --git a/images/TextMate-1.png b/images/TextMate-1.png new file mode 100644 index 0000000000000000000000000000000000000000..17a035896147fcbd50acc5a09121177b7aa38875 GIT binary patch literal 31559 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 dAaVjJ@AUin`7|CQ1gxJzbWeHt< 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 AQUCw| literal 0 HcmV?d00001 diff --git a/images/alef.png b/images/alef.png new file mode 100644 index 0000000000000000000000000000000000000000..ef175f76c2d0d882bda1a37f15d2b8534ec593cc GIT binary patch literal 13448 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 Mpxlrxj^P>q1gTAl=Kufz literal 0 HcmV?d00001 diff --git a/images/atom-01.png b/images/atom-01.png new file mode 100644 index 0000000000000000000000000000000000000000..fce937634cd6ae0853f147ad5079c7d0556654a8 GIT binary patch literal 31058 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 RfEln4R1`GiYhFAl0YCs^765==Mk!VOyBew* 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≧X4C$dz+Y=oo6HX# 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 literal 0 HcmV?d00001 diff --git a/images/go-family-tree.dot b/images/go-family-tree.dot new file mode 100644 index 0000000..5e71436 --- /dev/null +++ b/images/go-family-tree.dot @@ -0,0 +1,26 @@ +digraph G { + ranksep = .75; size = "7.5,7.5"; + rankdir="LR"; + + node [shape=plaintext]; + + { + 1970, 1972; 1985; 1989; 1992; 1995; 2007; + "B"; + } + + { + node [shape=circle]; + "Go"; + } + + { rank = same; "1970"; "B"; } + { rank = same; "1972"; "C"; } + { rank = same; "1985"; "Squeak"; } + { rank = same; "1989"; "NewSqueak"; } + { rank = same; "1992"; "Alef"; } + { rank = same; "1995"; "Limbo"; } + { rank = same; "2007"; "Go"; } + + "B" -> "C" -> "Squeak" -> "NewSqueak" -> "Alef" -> "Limbo" -> "Go"; +} diff --git a/images/go-family-tree.png b/images/go-family-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..d868a4edcee9d0b2edce99476f56d3e1175abd38 GIT binary patch literal 53199 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

YMU%ShGkzZb5PZ8U103lhR}R&vZ&y`dWJmeZzPN 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 z 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 BFsuLo literal 0 HcmV?d00001 diff --git a/images/go-father.jpg b/images/go-father.jpg new file mode 100644 index 0000000000000000000000000000000000000000..616d3f37808eb185e4a68cad537f6154e1b75595 GIT binary patch literal 25567 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 literal 0 HcmV?d00001 diff --git a/images/init.png b/images/init.png new file mode 100644 index 0000000000000000000000000000000000000000..41dc2d9a4a7ff7f890164a6116fa7d65c0d0d367 GIT binary patch literal 9948 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 m@Be1t0dsPBVE+@dT~Dh literal 0 HcmV?d00001 diff --git a/images/ios-textastic-02.png b/images/ios-textastic-02.png new file mode 100644 index 0000000000000000000000000000000000000000..5b914b8f61541d2e1a811fd50f275a8276b17965 GIT binary patch literal 93505 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 z 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 literal 0 HcmV?d00001 diff --git a/images/ios-textastic.png b/images/ios-textastic.png new file mode 100644 index 0000000000000000000000000000000000000000..6f8c56fa780c0cc256aaabe84ce3b1d1703cabcc GIT binary patch literal 19681 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 JPDHLkV1i1!O2GgC literal 0 HcmV?d00001 diff --git a/images/ios-working-copy-02.png b/images/ios-working-copy-02.png new file mode 100644 index 0000000000000000000000000000000000000000..9159bf1bbe5b010cc3a1304919643904fb3fb7a3 GIT binary patch literal 50406 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 literal 0 HcmV?d00001 diff --git a/images/ios-working-copy.png b/images/ios-working-copy.png new file mode 100644 index 0000000000000000000000000000000000000000..66d83fcfeeb0519e32b275b80eb55ea5b80b63dd GIT binary patch literal 38690 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 literal 0 HcmV?d00001 diff --git a/images/npp-auto-completion.png b/images/npp-auto-completion.png new file mode 100644 index 0000000000000000000000000000000000000000..aabf8dd7bc5345855e02f290dbaf1cece06873b1 GIT binary patch literal 2963 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 literal 0 HcmV?d00001 diff --git a/images/npp-go-asm.png b/images/npp-go-asm.png new file mode 100644 index 0000000000000000000000000000000000000000..49de8ec44321fe38b441e5dae14ed2281c9f9f05 GIT binary patch literal 44149 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

v_24qXc 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 literal 0 HcmV?d00001 diff --git a/images/npp-go.png b/images/npp-go.png new file mode 100644 index 0000000000000000000000000000000000000000..7b0e117b486c1bc5360e131f3e59aa61045ae7dd GIT binary patch literal 35654 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 Gp$Pzg$lB@v literal 0 HcmV?d00001 diff --git a/images/npp-proto.png b/images/npp-proto.png new file mode 100644 index 0000000000000000000000000000000000000000..c5e39471d8796b893738c4b26430f25102a06cf1 GIT binary patch literal 38344 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 literal 0 HcmV?d00001 diff --git a/images/slice-1.png b/images/slice-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6126a0a6b75b7855d90ea5316f05b2ee79d43966 GIT binary patch literal 4910 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 literal 0 HcmV?d00001 diff --git a/images/string-1.png b/images/string-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ca4b0db9761af31a325914779d46fa069a6ccf5b GIT binary patch literal 6235 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 literal 0 HcmV?d00001 diff --git a/images/string-2.png b/images/string-2.png new file mode 100644 index 0000000000000000000000000000000000000000..64916ebb0e193cffbadddca8e4e6a7054ba0e302 GIT binary patch literal 9777 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 literal 0 HcmV?d00001 diff --git a/images/vscode-02.jpg b/images/vscode-02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..304ebea5e3a940231fd496a62cb83764d7eeb05f GIT binary patch literal 36465 zcmeFZcUTlnvp6~%$Vri$a}to8VV9h9Qa})ii{uOnOHfoKXAoh@86^pb3Wy{Di2{;D zK@bs;ENQuezQOl9-#O=Z&p-F~+~+J$&(w5RS69_^S9e$Sa5{N951i9d(^LZ>5D1_F z{sE^SfgROAlp_G>>H>TK0N?|-5IO({gdkutgV6s4TSIsN*w1_@SSSpDSKvID93dh< zVG0lqyo&ZzKr_=^gP3rYcih>);^jF6a&uoR1s zw2Y{vjJPBKz!PA9(R`Hv{|g?+K>wtVvx9;C3B$tA8v1vX{#_m@^(VY9n##&H21fd7 znmVeWIsgD~($>?{70LntZtlL`M(Ro|m#Hz(D7$tux%S z`#*ns<3A+@Mg{(T`9HD$<%!7N!N(3%6+W2nVeez-2Eu^=fRkFo>hccx#d0AJ5D z_>2b%Z;(L{zIFyX{er#1>fwzYv%GKd#!LQ4IQ~Vp|e+9a^`hhb4{4s-9VxJqv+TfiBl>N57 zt;!iJ2*Qmut!4_sARVZ; zv!BMFa8|Ihi8+{01?InUzpkhMN8L#~A7xON02`Q(b#~A^(=QVMz*tbenkFC&(t#;> zdl;SJgFL_-?HyE9L6{$eqi=X#eE|!XQl?0|$50Gku=H{@^IL z1snhm;5vA<1KfcVfCVrD)Bz>%?g@Be`r+y zztcI+BF-0_ci{Cs&dgslSa7CsX28Gqpl<$_#pCbtKeT-IrcmG;_4o(gzrKqtAms*2=>K|efA?>e-z5k2as_Pd zPyPJ+w$8>1>Mu&*JAjaYJplE0i~r~YrXa^CAONK44eI->zqtcJAnxxY?+=OKOmJbi z=D+lAsk1)+Cv99+ToqhJfCZNiR~lCsSL+P^b1dU>gJsg-RrPn?!2aWPl#{bBi-?erB#R!9r$`a93U4*)8C0DxNT?>rvRR#N5yK$C=>pSS-ndf-Go z002IYq9Q+^A;e0c{hB*H-3IL#UJ?MDB%Yog<)5CO6oB++0HDqFbQ-iI6r^P2WF!>i z=gFz5C}@~PS(zCam=OY(I7PJ-^>j5AHPno({Oyg*Jua(hIL0`81c%(db6ejo@nL*e zmVfwd^cfKd6*V<8J+mAus~p-y!vy{R`ghs}oX3Yuz*t}qHUN4a0y_^meGPz<9s~zm zjh!vX{*)04gX7@h;S&%Nfd~!f04M|ogTi4rIB+z?yC z6>Vql;OOLxa`Ex?^A89N3XZ&eC+hCK`_W0sDXD4c8JSu61%*Y$C8cHMwRQCkPaB(> zpS|jM-PzUM)B9#*bnM;u#N_*_kDnG6KQAqRS^2uTwY{^uxBuhd@JucU0Q)7@Uy^}* z|1Q^gP%bDO4uj*J$pwK1fC+XUj>9U9ORi{$XX|x=O(YzjLMbt?rk#LY)aX0qb?;$9 zDh{!aoSSE&{gmwgOt6Umkz{`f_P1P905J>#zC74@00DgalAjbt6|ID7DTRy~2N*sJ zV^o#&qyOKB|5^t-#*)V27@Yj1v@k*?6sihIY}dooK>w`54t}_8;6h!4+FSEc*bu;f zJDfboJYF;1Ib|%Nk&FFt3ak#{9;KS%<%E1Os%&1gdn_I?Cp40A?fxmS5s!Vr7uc$O z6sA9T#C#GA%&4imUW@N4oI>=950X)>7&d>p6{oO#3RtIOF9=-1K0F0JoZ)?uh~Lts zS3lrtJ_Ua0)VCgboC3GdyI)R$+kM)nK=CQC-wjp@lOZWMPF5SnYF49vuaEdBGI9#6 zw4Q990uvb0Nas_4W4IojbR+j)2*m$R9EJhe5_4l-%mNwuokGFywEr{SR{9o5gzMrF z;kh8s6Bv@U|7$q=zgcVlf8fnKutUecZF?Jg){ny^pOS6qN_r@%xPXe$WOGNq2glQ>`Ribd>^l!9 z)=z=mFEHPFJ6iV_(s}+uZ?fadDycS^vNTQsoA7B5oAI2NT%(j;Pp`|5BF4icCi9o& zU#t{sbj{dDcqQDRe6Cw8>dtoS6lejvWFZsBNL$;5-ND(PLv}?tGUBFFSs~eZ?4{7+ zC)2O9ESb#QGumvhFPOh4p>F!GJ!JmXzNeV|yo8?D*yvvT)(spv?P7KZGmj%s*vI!V*e6rBR2=%a-*Ei&T%+2jP`p9GkH zqdkPD2o8SdpGM~t_?>|I@1*~iHSo><{YL&*YyZ=}b`$Gc9>hMzXc=HrVRTb&Utc-i(7cUwpEFosYAy#Sx+SUEMGZTB~MEBH4 zk2nrhdrp%I05>?REmdjmS!o;jIlKkr`95sJDKIB4Cm}NExPLyjkG6w!A+7=5x@vQ> zpl5mC3ei+*-?6aV)0h*VBiC^^2$Whe zDvG?&=X{>wAS?w)jQ7HdQ^<3i0-mEe>*i|4btDt`5V1+T!@+$LK-K8Ml{Zma_ETPw z_4CU`>h*_o!w*cGV#BxIh0#nYcB?YAev1Z*$LsRfowFfh3nddH36^?olu=6fJ+E?9 zZF0?XuIA;%@EA#iAz5OA$L?Mxf}}UtBfR2 zmF+{X=e~&-=r-|q6Gs2@QIcsa$Q^N~l@D;ESfGz9|B%Wx`o$T-Q#AQuR;-2osALO+ zJFIv1@bKpYJpWNm>oYW;ZpqLP)KDAb`WIrO}d(4wV6=6)j z;MwK1Qy8r;u&?od?`G}SpFme4yRYudY;cANH}Uq%4$JgAG7YF zeNROn;1ej4-q?GJrPe4nOrU78=f-l z+*To@6C;l$YS@FWM6(SGIoRbCl%Rd|ue$XY^vB9Q=6`MKv#-CfhNSItlcgdezWvyM zVpHpB0P&Xy>Y23$@21`gpRYxqQ#$DKTbsGpQ+Id7`Ln)Fr+!jVZ=2DW&339;XvPp1 z8&#U@;^8JeV$Za9a&@@R4TC;J;!qg=&ypsb+)AM*-DiO%K%7y5wlIAE^|U2T&sQD@ zXKa3AVjFP@UiL&@pgtC9_Tl@b6a0ysKK222P1Zi)Ua77dL(jQS0hWs%Kd7;{onaxU zvCfhqh^~vDcqt6lnY#rA7sp|zz!#+^ddsMWX3Yd%2YLFu>Z9L_p09^pIt5T}ajH=x zb5wp)*78STJ#r55MaD`x<@#60-uR+dslW0-`*={y{I~>i?@kc9(OZ)}PLm&BQA(|= zk&SL#*r{x0jHv_$`&C)Dp?Jaxx926K28#gS8yE{JU@m0o0H5Wv_wz$E^l6T zAs@bzOl!zm#>Dr;k2gOSIyBDirKj}en~M>0hGBGZMJDJ!Un@P=)xoTw$i0QYKFh0^ z?6&o;>16eDm>o3itsE3OB$OLnL6Q#}2HhPpTw+%I2RORGsdAg)TvWxu-64}iX*NY{ zdmb>Tpudq-<92JPTZr$OJ z+zPDHVkAC=y!FC{xV!+|zy%Pp3(xExUf0-^Cv-lB*}C2;FhV`cn4BbbKOj4C`@->k znw?559++8(cTk}tPPz}Tl!wk{+sfdImfzFu9Q{jaez!apE@H)#RRI^PRgpnhN6bZ1 zh3gt!b0LF$hwqd_q{EafKjX>kn&pS_EBk->n2`pntO69cY}Eud4AZesw(MnpRn{>sS0J?dokO5I0Jc5J8z}x)#(Dt*^Co1Usr7)T3VeDW$Sb35S zyKR8$M_I6kzkOD!da{He{(4dU+j(?Q=}-Dd+A*{Ay<6xx7ew8{8S;N@=oD}|tA`o} z>%c^!$FOf791R`}pFE`A&)ufL>3??7WTgfjbP5P-_)fN-2@3HM1knaSG|iJo)cX&& zF=qmz--8s&&~?|b+gRVrf)2wLx$mEx0$@cML|xv0nh8l)bwN9JoGc%A@{HOdUW4=j z2Sbb2_X$7i3TvNalASRENw&WK5pe*qM7Oo>uv^)u`PZDR&?{tCPj^6YV}W?tP*b-o@K-f$BqI=gh@IH6Ls+{JgiR6teJ*RJbyWx$QPRF0q z6zI-M^Dj4svf1^i;pyGPil@IQYMT3Y<$bN@S3PHFzpf7|XjvsAktVSj(tb!+g9?$a zcW!miB-F4sb8Cx0;^pm?OXhAKAx?Zfmi4GM=?%H3s0W;gKF@!bKDd8eO8X@1F3x%&O|OR}8}4;gsouU)T4Jh|{0+#A_sK8@j#TfBL+R99VPHgjBi z5a~ZNPuh04yUctCP~8hcH+@KDc1k~rJuvNYt6aF<@cQ$VMsJL2%*9{{7srvRF%kOK zY>hApTxg@WXbxh~0`3@+W3$fuCcdukr0cjsQLL#bMkD=N9s?93EVmi6J0I$Y^SRQX z5|@_txbvVEXy2F%PsI*i+Na+t__lQlc(wA4Jk*MQAJM1aZIT2W6=jf1@13AVR?NO( zl)d4R{-&FQbKPiLq_e}x&xUdtMEH8N&Ow>H%*7ccE_&yvtO}Yh0da2#*mJ9t8J{Nz zyy_9sQEx)L=7Gjqk3J7)?9gMoM*Z3BeWW49eaapU5Ock<$=F^@_G%svTi>5Ut$J zPbpKx_R@0pVbAwY0XlzM?<&gB4n51BCCA)8;RTqxw_eDP6*H${ViLBXSk}uO5f^9< zo@Q_FiiLIO*RT8jSi7EapSVbCjm0kF@`X5b%i+5lrR4IeAI%8EH`B1pk4M7zhRrT5 zT=sB`r6?~*1&&OE0iOKm|D!a1+5Fo`SqwEwgrj?w!RtyLxYtcSSvX#GaJM%RCTY>c zeyK!(Tl!w?Cf4^oZ#qAEEO);`RpCqJD)TPh$=6~1XFSRjJLOyI>1O*CBqR9=*_Xz{ zIIwhXav@W;7~C}mv5^HaHeNAp1- z#cCI41nDDPa|SwPes-o3akg~!s8Y&WFSF}ip1eT04ZB=)QXxJc7mZYLhM1u9084(x z9g6$}qakRtg_bCiNRd}s`7qssq+u)~ws8uiJ*cbE`Y5Z68BfzCfA*23K`QKU! zzb`reupEKC80aJF!_LF#7ZR}nI1zIqWS69_DeRy(NZ+X;b}M!%AY!9YSxVQHw8`}m z3p(58*uauitk`?>c?>Q2rIkMm7uH8s7sWEe4jijW72VhfhUdK&2rKq{3((KI9pe^j!y9ss1znys2V*6dpV{+W_DRn67R_GRE@j$MZ@v)+kIhbyS0mfT1aMI8 z!^8M9l5->^-Rsl7*fVQnu-;;tC(iw>Em7p>MV89n-tr5)Qw-Xy)cmX)y`lJ{m}C~k|auKz+mIkdbztV!UG~2%j1+2JU5bVEl z&#jp|8SABgmDO6@kG5xb#k4C=VHRt-_BOyN25ZXiGxwaA-&3RKo2h^HVt7u{b>37EQ!City#edS&nh7;5z zerw(J9z1D2%dNp5CN_2thOoZ1volKN_TfW9tlGr(H@yr(TCthf1_5nM@5^qoyyGuN z3<`I*OG7`L0y>~d75=zC)Dh$QSyJ%L^N{&%-Vypl^u+nswZ22iqo(5vT1MfFz*pu* z&`XCHkN0@8&@5gUf#NWF0Ndis1U!D#6Mi)DGTkSj#SE@DUym*XX8EKMcUO&=Qo6x?(L#~XXt$Ov1}=_w z{IqNUiI^~ekAXH0Hz}G2$OlsqMT%n>kJW``i4Yfov7>^cy-s0ju7tjGrNWC_T}3eo z^Q2w*k?<7Pm>qE;T2CJ%L)WLnS@)7OXX9TLS(_Dv>ZyuxaiLHt&E*_^f~d^G0YKJI zR-8H50tj_37WE15#Wd02C2R0&@VW@06pP_uLl#-2&K!cqy9);$_&=Ov%aaD+b9C8Ra{q8|{XcBEP2Vw&1Z--l7A9ud0FZ8zRcNQVSsGTT^@e*T;FrnX9Sn=Oa1|C(HF{IaQ#Q4gm>`850z56dd zEnw%y)98yW72_U!GnJusBJP?Kc;R1z%^{+%_xp!fhf?RLa30W|q$41`4a!*VdMf5Q&+;b~D7qPgg>1Yriy>cAA?d zvED8_II`2Qp(gFC{BVLM2hO?%Ew;Wu=ehLjs|0vU452UNzrb``pL~ur5oI;P_0N8? z+rx-{RWZmEzxc*B$wr7Qfnh$kZ^fi&bba2y;T}f1ox^|CfT!oE%>dr+_Hxp6@tpt(u$qcG4W;(0+2`7|$%Vh@QzBp2 zq`&9WkYF-Lj1k^1;Dc~iojV2k^!G{d>1rsgYOEHIkakPg1guoZ$U`%Vks zp)lZqSsr=YL1H?YkgpQR`q~*0baBh3NuR#-Jn2$!#dK*McRo8xHjArq8Sig(?11Bo zD9*Nj^%}vnjtP{sh^Q0Yy1VEaeyp-3ywVBC9(nJHo7(H#AtW#&08WBRoyG;-1#$=o zzqtqY?CkF`y7<4F=X>LpQLPBHA_8j`Lv%0G4LszCa|?6pySMr1$HiVL(7}lHh1_56 zVcV*e2)>4vX>};;uc>NHOH!dI)d^tP?nZQ)R$rphUhrfyBKuw&K}J*Z-a1I~gUjUv zA$WOw3M?9E@@om-mn-t=drHQNmefot4o>m*UlT&y-HkLK}J)6w&1@?U^Hj*J9;i3y}N~ej($XT z3NV9J^{O>&P`_JzsO zG*Q~cQ1L68cn#>uM3wgLmsGfw9p9Nvab;FE{cKci5_8^YRJj>t z4-t(nZ<5@{vW_I;z~NxYuWLC_LRXl7~I7#Iby;=Ci)uJEv&-2Wns}egHs- zb%&Je(wAWfI86o_bz$7+8DsjgYgWJTi9}{Ir%#MmCm2AE#jPC(gAjsJ&_rd(yaA1g zL!A~~CP#SbfO^YRia3;sgvZ4Zr7FZRt3_8(gdq^sqRYp9lm#SE}wr5!%i(hiHDd1K4hthD?I}=Dtdz|18;ZBXNJkT!` zDsGU;8iRy?8a#l2k*7BF4yzS#&&>=)89*H7gQfiNqYjHSM|@{K!8d0wQfFF_i;ffc zD1w82rg!WUH?tI;A0A26)CBBLefX%sPG}fe0i9eBe{VCbOH$UfZEqL;jNmfGHBBjL z7TJ_=R>qIea5-zQV;A z!Wya?|0H*mT>HuR7c{@out>Hw^bl*rMhR2tc=B1jmcBx5WimDgYxs$aB@Z`VtHa%eW9VPDl zJby{L$ZM;5QI}n)onvh7R&u(?ISu6@$Zmq2!fT#1f>kaV3-3W{k3*W|dQxM7{1k zb|AKC`S8Rg_3As@DEb6}@8{EH6?<*2d!rv2VW8ov6p$vhIJeAHb8ieDXRRI?OYrjd z^22*i;#OiSc(&pRF}2MzHl=V$OLmX z2Wxp2JVf_xZXGu>2JH;~Fms@Q)Q+Gy7yS(m5}vf#b_Fu)IDHUTQg1l26JgyVQ>9&q zuMR$XXTbyAy}g(4A+tnjs9LLdX88%jDUfqf)mYuisn4yfDakT1aU!Q_5Vl!KD2k*< z`4u)9@=G6x1V0{V`-+Dd9DC=RuID^!!3kHAcxl7AIY`@WQ{-rfq&wPqRcSxf-Dd!h zv=c?fcQf8J6;Q0Q_H-S+ZkIS{m22Z_YVm8iakk|6HwmhK3dBcZcfpX&&)wt~^p78i z4MW7?0b&mEHcW65U53~&-82!~JW9sy+8FBM(|8#o40p?HicC}Evnr5O=%_4In=Nl~ z7@e2FrNaf|v5VOHA$Wd-b0G#M=9n;yB+AkmaZDBq)8sr~t^d)4u|KwHw?v=ofK-MQ zM>Pvq%4k$oK!{sA-E_*c<7seo1H;RZmJO?K>o=rKE2N(WB?|R~=31ccrCfvPCc>i? zk9qr%EWsm2*UZd#I^@eI3=>BxD7QJWezySgHwMth93#zUEcp@YRmvP~P>RJN)(tky z^5Y`TI`?F+RZ~rl?AlS5dgrQuv~vTi}XZ*P!i4!IiAbUCxCh53&q(i*PgU zI;P7RYxaJM$<+cp#pY2Dw0Ix~MYB2-V93X_sMs-Gtj$k64l+Q=uppd;G`}Lz+eADf zDt4D2g~Nln?nXHmXctRIcINTEaeH~BrIi@n^Xt(W=7!q&&m7q7smJ5J}D@8 z(gD>|q?``?+qmR7hDmmnCj!H&>{3Q~j!ouBQmJlFA)$+WY5@*GR$}qIjCwmslrT`4LK~C6TIT zCkPC(BVx7ECxqKr*9yezC>plcG4bZEz?BGl1d2=T{juaww!k21U6A`qK ztt{A9dS!ycp7f^I!4ULono`%ITJ=@04m;X*7HodmyN6#E<5adC$-*nYw%63&>~V(+zT7TV4JrmcyamLo@(rN*CM@={-}^%!Xf zPFWkj8etLwXApcrn72eRDKq#hJ0(FPmDWy=!hkmTj`)S3e7kerdj7ks8aS3_ZXZPK z{fSA@d}j5N{lsNq$R6p%~pi#GUG}LUZDv0dAn07a=*BkD^HEd7Gqx@6*J-(MyO?k;sqiK zGM{#Jw`!%8&*rA8zW_|d>W8&;u2;!q@j63L!ROQsk%bu5W-FNrf7`*DVgd~#`VB&R z4yvs|wNC{J^Ybx6^FwVp%)4P&aj!s{Q-G^>EWuk!Jap>X{KnS;=`!cSo{az=8XB{e zHIutsCC%CW$05Tb7^eEymx9xH_HPZ0Jf!oGTAQm34+jJ1;I|FDJYx7(gx0*xg}7nN zSvV3Y2C&jX+;lM@KZVd8rHH|UtZM5Hu(}$+Ge2dr9*~U`h>W?u9%&k3Co@o%<>;sL)HP-_kUX)SqC6- zWDvU#b}6QQMdct4puYe-!$aqwV6*!eyICf{9(~1sfIIEs<@FsYsS{^tS8gehMvmki z2Qxoc;V-iBuf2>;0T<=vijcTV{KA|PkL4f}3?^n~nm!POun!ATu`P!Ale>&*{r4XZ z@VVC|&Td6|Ncs5IQVc%(nA=#yc=V)EL5c2r#urk97IEu`7atwDjqt~i~Fom8^Y|V%|WRG}vSOzJ&0=xS~g|vS{WCeid!pND`u07%zA>I!Nr30XdsFDGNWOmyGQo|BB22ijm+E2+pO z(L?q|`B7MckWb8()Sy#A1+*pwoB7C)MKuM@r( zmSc~zuwLw3uW*I4_qh+jO&gzvLtsY6VPafn>DS9#TUJkJXM&HG4-H_)D-jDZZry}3 zMq1lY*k(6COdLw_G2k}eg>qNW$&qVuW2WvJ4giTmawT-$$ecXa9VfaK?VMxJ4Ue$& zT6m$g-~VR8nf}>`z_;-GEaa8}@-JEy4-DW&n(UFS6Y|0X{324X%9r6!j>{aIQHl&< zdiwH#%pWxwJG$GtfraoK^(rBzeIMLyDV&yFtS`}f+)$In zLja4AD!uyU7EfDg-2jYZfTy&*BwCq+;ydpHBLTK*DZ({5S3OOqu6a?RuT#Hvap}hqltagL=W+<6*+vYB#ht%x)xOOL^!wqgXz+nBJ7#uYdbm zIf-7XgZO6L+!*9)Vgw$`+I6JVs>VevUH6ZNBu$PE9ZUqExn3ReYtAIBztJ2;+i|Yn zvp{LN|e<6(M}mxLl%Xjr%+YHlll2W24*|`=9f3i7SfQ~Y~?4PeB!Gt z8^`9OoV+M9l62R47NQt@mzPd>pxNG6`H|`zEfUFh?80O>4PW^zp_^Qev&M=)7Mf0x zZic;Ptn`UFGPM!r5VX6kCcy;Z2Au≫N=y`Gc)qb9a;=37TL4Y%N#Wgb$m!Cs23t zcX; ziGfDXN(5hdD#HJsFEU_YXntq+&@@Ep?a0OAID&UdjFm(ej#a$6iwQ8q1tZA~*ZL;!F2=uqP*1?0Y}OUBOU1VL>_Bmvp07^tV$ zpfshK%2Ue;-Pdgd9jsqv4REyhKIbNh(`?swv|=snX!ZvwuZuSX&R?MExNR4vw79;& zantcE=&sROAHmkedGb2?=B?v3?zo#qSCsAVOHMheImO_ACzyKelv@lOJA(o3$s~CR z&O|$h#OQT1{=kDlMwzuvf!7ws{3GgI1ihvtqscMEJ~;|0kXTie{+@o_)d!vsa-OTN z$&GW=f_5sW{?qVW;wi8&53V3o{&o;EV-?7b#{O_2V@OCOvGRjwwqO+j9%4N+4+q7! zCG=7aTNggNOz)I~Coh;UD#NdEM?0c)g@%AG&_~n1SH_Ti9m7aEugk*kPE*LwClnTU z`=-&o?jk_&R>Rnj7($JYT|p;eK@*$qMoAe=7(H8;l@pE&h98lFyswfenlP{`3OX&o z4>yYhrxf5yU;-Buzy<9rH&zThpo5U0xT%*yn1cBJTU{}u99Ze|HC6Z3s8Uuz`@On zF>3gqUfxu9mD@ewN#aNPoAKWZ!E-lky!ykfhhuHI`cWg6PSm9LmQ*44Kbtqh*bnF$ zaC1v2`6m>^b?yjKM3|RYW3ZGtEXE_W@u8qE%_0&S<47A7d}|i1g|xKProDV=>O7_4 z%WFa2^stD)1>BORno(;b+a?u*7nJSGIY9~?+iO>D+G4-u?oXZqgc2Pm?-3g{SPDon zfBhn>&X@I;d-Oj-A1cZ>%fI+4^^KpwJ!{RD`_Vl`;E?p@&E0bPe^WKj$JWV%;|amL zX=m2StrAbhIBEFiL^RW&UTnnu<9?mI`?j$qOyK$P)ZC{Rjz!QP?2dV+$@cBRL(|EW5^6#tvv=fQCEQ$?XfO>V=EV9s@J;fyodSX>v*5`KfBmCx=sVIXwj5K{q#f_- zK>Jc;JzB-q9QU~>g*Q&*O-mTRr+(;6XoFhy3er z<@r73J=L(?MJU>$%OHwAxFK|n_z5g=^w=3n$Tv8-c)dl)TlBc;1VuGj zyX<+?62_=+^Bv=VaoCKbE|Dh8Bs|Aw_Y{C>xfXVKOY(N{5K)#^a19K7ep4PH64JE1 zTWYUc>HnzjD-M)amBIk>ZxTHIU)-(#bjAWUqu|J&IomrZR<>M;@uCF$2Ci79A!eD4 zkq`9uT{00XY{fz2nx=N#wp~8s70Z(LkfBc*RJHh@Qtf87>m5sCAX@W6mW~;Fg`_yn zuT`}Stqj<4Qp%RH6xk!Ahg%w?ILu5QCM0NL?ApW{O!{wL&=sj!cc%4BkjW}Sh-4dF z&MAHv4Y+Y4C^Ep)pZfS3J%!y>Lg(l_3)he{j9ly2#i%HLp126WQY( zv7t<@nd2W7SIRL#0h}QOl)gOYMD23;E)y3~(mfinn@Y*HccR(D*rzyR=6v>BwP4_} zr#E5T16(eQ17Fd6lFY{7O0OA{b+57cxa`j0b!Vt67?Kj^E-Osj?gTWSJEnW?mLC-1 zhVj$c;UFxWUA$O^;Fn7<1r(n_`(RwBTT}?iGSmP!NUwg`2QF}-0D4FsP)-E~U=@Wx z=W1(a9;CMZ@cQW2+y8@Q!_~lI5|*uOa2oR+kIF2YK@Ev14fUqY5a7ir@IKK~dymqB#BKtSYBsrOm7KCA=JRcSxUa z<_0T^_KTA1r*b2{W$Clo9DL?J*}CEEyeA?T?tc7)R%yde_AXBRJlPji@`_pFR3A_3 zxC6XWfGx>u9U%ksY;l4fLL>ACuJ}LdqM}9Ge0!_XhgrDvxeg_#G+<$tu+`P@A49nM ziISk|t7XbCpXp+wg6Nze(FJ>Qd8$6W^NLEw|JnFnxAg?6pY+RpLx*mRlpq zJ?(_aSNr9=E^pRv+NatAmC?#&R+|x`hgr%*yU(tq%)Z=rn4$M{jV~>4aNPT(eK+P! zxCDj}H#k(>B8-qHA50kHY(jt!Ja@CK5|%3*_pZI0JK8nzxt@_KUq>lB+!&KtwH#;P z^<`3MuoOdrhkb8)5u5aebfhnhF-inM=t82UcArj@^7%m7^Ta5|+R%Eg2G2-{-Sihl z`R%bR`>e`ZElyq94_)SFYSq$j)NJ)48l~A=IOZJ)X}0`)5U-@Kh;&xm z3-X4TsBfF)Svqw1}eKsYDA%rRM@m=|RMZz`K*ab%l%l_4c5B_@~ z>c0s*!9Knn>?&LyGG;l-jnzb6z%%CIYcXe!ric`k)blYA4GSy|y6uZ0QB5J;*}U|^ z{(h|NTZQ_t={Va}GrNr72^qo50cA$t4@W8E?%(sP3{m?Kp{j|q?v-rxW|hsDB!>9f z{IHpz9pUTf#~QZUs#1hVmf|O6N=un6ZN;#>b)H9Fkw)+N-B`#ahE!iQGS=c zrShV9RSjWxuGIOf&EO&(2Dh*cmrWmNQc7+d6~YdTmDrj;tt%m3x=c$QT?D*6FUmi> zDaus1RFBhSc|p+oimEoP^{DLI5MJ(N^7BTQBSx>0dZ`RW3imRiAo%?1w4ImqiXUCX zIWWV>jY4gNNOx`RA6!q4Qpha7T+|6zG+*SUKgR;Yh#TZltcN(m!L#-KiFy(d?om*AA2 zV1oF5Y023#{K@~=6l#3yawHVdz6Q~d>lh|D=G~m>Lj^j9NAy&BYDLDsEq*$-)Oe3= znf?I-xoA?!Dc}IQVVcNOd-QlA2|G$?!jbf=i64av6-9)bB-vLCW3Owx??*k6txKTU z<PhVk>K7STJga;%;LSwRba5Mg zwIX|uITeiiMDwa!06Io-&vz=!x74{4YZ_%<=S|D&nqY_;)2a5k%%?u-C)&-E0__4D zBW3?hJofh?at8l*!z5oyzbh*EddQRoAeyCR!2{uS&Idn1))_{UnX~6r2wMrwzmo}O za)!>dN|jf(=;}T0R9O~-$iGM)q}shE-A03m-#PxOT+)-?>z3RrE$bB~lN};mGG(ny zQj#*C+`?g(gfHEGOcfb$zBO*SpF5E0+En1H@c2+wK*mizuYr66zSe8yzlXS&w{zb< zR<6u8^?fSs`C5ZUot)fMYU;GDDSlfGw<2%q1XxX)(_tt0S=KT!JJ@Ta>Z*(3`ctZV zoo;tqp+iG= z8Hm?e<~I}dsiW!MXQxlaBtg32Ie7D^jE1NMz9r`|Xo34|_s}6BVEIs5V9CCN(u}An zP6XY1T;7KwE|=`9Pnq2h#FOd@O=Xzy>V-03cNfV7-*xL@7Z=Cx?%g&zt|_}lf%|41 zu>0_Vxk`w~a^;eIWjX=NdOPWoBUY8(O#*Cn!X!Nmf(YWsP8LR-3e>)R5(7zJ&vX*5p3FP*f!DRQ&qy#e zc=8Co8i~TX0aiYHw=D|SJ0GK@7jhc(c-bEe%-IOu3ADZ&9}H*+==K+}CxWw(Hy#I> zzOjbey{Dp7*7WX@WSeEK)dh7aP2^It!M93S!}oWJH6=6c?+rdf&I%7f!UuzaOy6$LN+Jnbjq!6@_ z`1pfY|G*ZMRKK4Ttp!|Ovu_4xGPR&~d1@(vgLl#&g=)75oA_@t6>vE1RNN0te1Gp< zhE%*el-MbBy;bY+O@4106}J}qKyG(we#?>tk9a#BE8swX;Hw+QcIaX^O>FyZ#`!vVbG6#Q>Lj<<1t`k>3t8CyKkbphHoosPq* z(esGIbB|>otNi{1p4MbOJFV&V%MlIK{)(InJmW||&kz>&tyKv>({wn)cRov)=T-p_09G^p$4A>RNJkh!8@im|yUL2oXwK zP?F>>yV%~y1_jwp5UENe1d2^tnf}eUEC!r))p0(*aeg`d&`*Px@ysNsWmM%}SZngLHwl9O?ZJ6+_=i2V|tTVg>|M^1OVseDnAsukl znm$l4VyZTy=bKNQ#&YuRu}kcgmyOy%hUYVD!|&Nf5G*sN@qwYSGy7*Ur$Ll7c@V%P z6Kq_yHhw)oK^h1Z1O1OpX^FK|f@qk=o=eR|S|L3$d12MIGF2-H?IoPKAgjFr+yTlr znTUIkAJOK}N0dI_?k@&C%vdCsT8J*ufkyLy#`wQZ1pjcH z7O;Lern3O_455@M zNi?%p>4{5N;<~C{J`Q0u+IQDVQXJHYAp4>VxXht=-1r@1Q|X*P>Xsw!-{qf6RW}_i zs3Ej#BER)5rm$L(@dtPOV{x4iR+Q7rFD2kz=-a-`cc>-nX4j5X*0^RCxWXhBYeyF} zy_RsOGVXZ+nVU`Pt8qAh-V|F^Wj~jQ{&~-yj0IGer=G?}qWLLM zckBLI)=d7%<31$Dp1X&DduF%Owrci`k}Y*)pLEac>cn;#CVNA{Zvzi?VDs$c!<#UH zffAK{%hyEja<}6Mz{hOA05|;DBU?nt_^qxtwfp%Zd|>rjdS4C zZoEzQ?B?|cS5Z|D-hA8E_^hdbGV&T#$PZ&{sEt3ezNyKDpD0@D6W)UA4#jm@MJ1?v z1afVwly2frh7Z5Ii?@2^VhGRkv=#gJ{4xEVA#XKG7}b`2@2*|S^lHs%S~)Pltqk_7 zH#d4!>3D9YlRonTZQnWMa?yn^&f<9Y`flTI3tPDnl1h|u)9wyxby3&d4Y=@h+4Gyv zyYL>d#W6v{l&X%1qI=6nvuGKh>8U1D9ZqdeQh|)OX9pew14C$o%!)xRujrFB)6`)l zk^)=#ppED^lHLu2Q*@4^_KXM1>_t-6{e-#lwc!!lLy|UwVi4~U`XJxw-l7jn-F1$` z-Q24d)E08o)LTWBQSyy!R7OpvJ=}32v9_wd-wW?E6qzYDv|(BGk9<2bWBb;f$b|u~_>w8VJ%#-Jhzq6e6TG#r33zfF=IwnsWHtAnT_h@n(Jz_=s5)6mmj6w4OEnHdm zi>k)FGc8@}?sQ$?&ZF%)T%gS1?ZO5$QmuJ*u>jLK9hgHC+lixBVH^~j2KO%{ZYN# zp&}6v!DC+nzrv0c`*kR+_}_iM_~(l(+uNuk#qtUmseFDPL3;(aM;K zp>Y~B{B=ZQWcuE~Yo+Tds$E;M#M?-!s0x`^Y=n{PpKE%jW6-QBSyiv^QQU@2qU#zD zOjC7*SQGE{xlS`J9R#~$>kl4kZ%sIxU6Uc{_O`si6TLeAUY%o0wR(#k|j$TUwb^~?Af#L-o0;k-+TA- zx%J0T%Cw%T_{&LI6hp7eiPa}DSwbn_=8;Z=Wa^Y_l31c87)X7DlI7% zs+?(BYAQLUx%5aQ-jU2RYjR&X6Lc{qW5f(!Zd58EBO)XdmttDBs(*VZu9gAf0{9-WJ&Du)NI7Vf{FEFMW6Z%!?6-V`AY}>%jZ}x-6@3xWDl>|=o|-qb zK~Fpi1qK817CTqnUTyhsqu!w7uUe#3aEO8*bYbA*YX*vDjOCqQOezWR@z&sk!qNe} z(J5@NU*M!Gd8+f|yJ|F7_1Txx-Mhq1r>Lk&gue}OWzG=_&g>J1@!(%y;xTTM!<#-A@U}1Bur43bbir=3n*aHL^8CCZaeh zAX{tNH`8PLpZ9fpqN@#l8A(3nZD)oPC&D{qoOnP)ez-+ly7`}pUa6uW90cnWlI@+ z3z3QI5RrNko&(lZfc5bki65g=LfOtHX@wz?A^gi$TNzU3Nj(-4836u091XCk>Hg10 zEProA^S@1hef~}84u0)-P&h!Z`0={~0DSvf8vWlxOLbE>P>OA&L~56n zhSePvE147UV7|+qeO@GbuRE3vbh2c1*_QGncHBJ)Z-q(1IB5HzA(6l^LpXObb3Ek& zYh4Mne&!_l)&X>LoirKqEkRE{?#4COMqPE(_@KDDD&DQ}cWW zNxI-6hL8m!j1nola1p#t4z{9Nb%hhYUC@#HE=AnbCGOb3y#;UmI5Q07I`QOt? z{=q;8ByvLLfm*oP;%C47Ws^ReOgT+;mBc=~^2~U_3&LG7Zz6=t3}CI1%FlV?!0t)i zAQsxGaL8f%2HTQBd*7}m%<{Zg@+3cvO&YJ8U}FzL)4P>YffM+*?R zpZGuZW=|v_8mm`C5Q2~QSFYV~EA_cO_<)2&z~UkIk|;pqPbP>=2Yqh%gyg%YE^(9k z6t?><>DXA)GWmIU9%18F7otN5^&J!&H%(pJfO>+2t73fBQw4uKK=*3^ zy0-}*J`*d2-d4NuIXFkxx0rM4ee2u&nONltdOTI;G>>bIVf}0kB^NiogC0Vlavh6i zA=CDX6++Y^rLtDG6L^!6@xdKT8y1IjrQ=puNlWq1{1d>uU#Vu3kw4Br0JPJ8TpuSk33Jy=X;0_*r%!M+8=rj`dY9i=@RrJt-|1@Sz5o~XhL z$aWb_VmJMnwhSg#fvIwLSGd>&fM1(I&ZzhEHcC!f1LgJrUjNG%SITit60u~=*<>C* z%pNpcTr@luN_G>5F>0x2Tzhx^1{P;S)_F52Zlq-L z{R{c(WA7|Wt#DsaFY`sZ00f6P6EduJQ)=i`Fy?t@n@SwswT^ZgI579^%}qP6k6I2; zLw>kO2wpzjxhii}m!yc`CSkCN79)!EeGB1McztZ_A;sJ@ar(KlA5#1!cjjsUq~TSn zZGj?Iv?gO-aaj5%Yvk`SMpyxu{U3H@_|J|FLv+z6kzy>_U28^`I!>Z*y*qXp zd73BUCF@y(2||1*JVkbOFT$RxiSw@wW)j^^8b9jniWyf;^a>ytI?I7wBrA699wdsi zPr{zhunpSpbA9MnD8(*0dg)NRf*^J6n@3^ceLidHZAU%v2F0(ap$Q}6M-u!u2gGkQ zsVD+1=2rLi(GbZ!CiENT>T^ruoyT~2 zrW&>?{NLb&dxu4#2tCyV5zW9YCjOLp3UcrIU9c5b5 z7WVfvUAaXv;>k{$c8A8Q`z`A2PCZ1;qED~k#NhB#b)mw-JUt9v}PqM?6UOl2klB8*%a$)c=HH$HkSvFrk9lz|F1 zr9u!#e>C6dRKU=#bnohkj|W8On#*Q5Rzr$xmm~$sit1jNe@>iZv_k`o<288vm^fOx zGRKLtPi0KOz;;QZ_#Kiw2%kPUS6qiii#$w$t)`F?YM~r@e#b9(0J1Xunvn`YPH$gl zI@Xqle)_=Vfxs zO)B#W(S&pnFqTc=ore}tV(H!V3lJiGf{dBimKc?4cJt7!g50+EfWJY|&w7rXlXiKa z#u%LGYVIdsV0e~!hWHL@d4!V={(b2l_n+utKHP7x_HB9C^&gCe?fi5`SL=ImL=V}U zZfqA4(i=Cc{rbST?68k0pL}bXhm#hU-1+qx_^_b-JoIoo6dT5sTkzWsn(??Qz)I~M zK(hr!M?dZiH3tZmbKgNRY`^D)FC=t>^S8nUP_MC{o!;2a{&&XzzpA3*%Ga#Zu(Fn! z8^^Te1b?|>fh1AJlp$v92v+DyeNaH5Ai7exzoBIPQcmpyk@zjnYJbAZdJTIWYcPh?py!Mh zj_qJNrk&6}L85o>ZzYICx1Z%gL*L?j3SYf^))<->9vj&l?_tCG1#I97amw>%e8U?K<{v$} z@A}+9^+|QCndW}HNh-EYBtYF$r{tufCH&l{k%ChB2o}r<946AZKgGL8QE91f-*_9pFRd z7>D$~88&uSHHul~rMw+fGEjCXE2bGNIlsSbiiZ zv(IXHDU9MnI-pE(>E)#dHRJ>1Wa|%F>L5}2$o~M5cE(3_T@16--`hZwfci=BkEkP^rc(5UIF&jU!*8XL8VlocbWkv- z(L~tXpZ(nc#wHXch;dF1BhQEz9#G^5f;PVyOa=Uh`kKEVpdsAOza%~7oeYvNgnAoU zy0*C0Q6;jA*WwfPX&3_{sko37i`)Rm$M&h?iKtOyTUklGj&cD4M`?H+ywKNIE%pLH zD*sd@bJ3-Qo0hf9<8_Fhz6fMF>s9EvJ~*GJHg=SNXYNTYEM%TwFPl=J#w-DRl;-Fa zE&Fv+qQ5~#(nX*hr$p9y1P5kdA%P=6Si_?k+8R6ml8>kD$SMw*j8}Xt#5slx@xmkM z+3%C;e+gLMl717R(LH&ncytHB0UT4MLsu$K!;%ACg<`{G#;=eO-tG1)VLC!JF7j;b zZyXOZ1{yThNs2tx+sI~^!H7$3!k^)d(x|ktl5Xgw1~_>Pc5Vhbrlo^MFVcrth30SG zi76mfAq=Bl@V?et#QVC+C*ib>>cC9b(~7N$-K~4V&HSN~(+?2$;$Yp&@Q;d9WY!s% zZ8XB0}XY+3G-*14ZeC>^GwV8xlB{~!k4KO-)IiRVbgp@V+SYsp3;E@R;9K~ ziO_5o@AESVFmIlz6X>pIhr#-xs~S~4CxaS!%yLixdz-s0pLmLVy&p>zrXFWP|3MpxFCC#phE?f@O6V*>6+m^GS#ENI^@50S z!yfyDa=(o24%Y3CPwDO!J*2yYk2*L?lqPUBUpy$g>>Vd&8@3YGbVUc-vumRU7&|%Q zy-%cackiqd z1uQqCrgsZYC}8-5Gi<~X8#w9v`nMqgwEq0%fd&U891OQP=3Bh*I@Yx3>*8l!Nlhs^ z`-!a3Y-IV235s_Eo_Y~azjaQJ4nk11z9&Q0Zy0IWacMJNrra6=g!W-|2`pnmlkZ3o z_qh}0m?1?^;RHld;G{5d$P8P+VWG4kOZ|t%iT4^{x}dp?n>=f;C9qWb9P?SjMhs2& zgYSuUD-QJ=b@X(oZNaM0DQ}C29<1yaGmdD~i{oDo#1O$pBn8{yVf)I49Q(|@EWQr<6)~R*{*}jTO1uW`rsMkYvYQ8lEl}{hEL|gEhmW@ z?(qmAZZ1bqBT2puS6j3*9Th4?f_#>zi`dJ!TnAgWIhMhgnrhb_POoZC8)- zpV0>&)ag5alCys89RAo*{G-cz`eXnJ_}n;-=tnet_tjsogQkA*jR5_hg1LB?vUtvG zBRmSK^G}?LUJhGM;gMb4-V`zOmGsIF{i0k_oF`6JwA)U5Z#=f4pTYa;&}@BV|C3G= zex6D|*wXyk1yAF(gtHTxwSxl*0prCL(QB6XF+VC?KgMW^_yc_H0;M1YlI}JRO;U3w z6V8U46vy-Qk1d1KUp*+N0d*HNedLJs3Or~%{eoxvaXwnm9Q($}UNv%O#~6c~K*3*~ zJ_t8uP|&!5>eFQPU)VlEsjeKD_w?6Az;~}D48_VXr<+dn_-Z3r$9sJ{9D{aUOZ9qQaJ3$NTHT$UOWkihm93Wx#8*-^Ok$9JQurF5 z>GwL=jgkP+iI<`2m3l*()h2IW2LzQu!g}n(AA4$aL-$3Zmf{mXM2bm52(l>%L68Jv z^7*N&9CXW6fSFmkCI`SGN|>GlD|YvJm@P> zvP;@QCmaR4K77BN8kp!ap=3ioTsAfYn{_QhOyCj@Ks}{%x;t zv(ciKE~n0COn!bvhhm4+w}U_uxslXgApYL+j!d&dzuKoFZM%Z|ijQ4u7>#x-L7))3 zPe+4q4w2lXs|3z2pwRpDpOGvsyB^=B^r8JB!&TZd8g#=M4mr3Q62qntl&=IM3A=<* zbU^eX8eZ# zp0&8`x=PztufoRAOw0rg$)c{+J-Va2`0pY^8nUJNvo>y}Ci#P%hfeo$A?2A`X57?$ zS~JH(PR#*$CMG6W&>lE6N>ZVViwDb~B?nsbhoU>tyn}giiK)vpWkrMB4U^SKBPcnI>y6`xGy< zl$gVgf{CEWLVMZp))~AZ@KV^|oZ7>AxW;BY zkQ&7DDAntF2y^4pyf6s>WI3;qQ_y91A)$G}tiMHu;Q0r8Rc1f7*HTj%bw&)MP!gn` zyaDRAa}0g?xqYP~CR{RsTYIz(s9`qN zf=c6_CJk&29eUFvF=~2w7pFWeKC=jSNfTmbkVg~e(McIuJFX6?bBoN~i480dz*H^s zy0J^}`O$i8uu|46tcG>5hkn}GY$3x_PfDNcwz0>QF&mYCXR+k$+tG!L$k=@mKf_HH zSifDIS7;gNx#meH+|xo2-l?2Pcjb*tawX@((=UFm505mw^zrk#0_I`dJa|!KP20L6 zrn#7Hd60#L%1XjW!iOZ5WHcHbO;$N3*o|(DCnHD-AAAhB1!JC^3g9IhK1;QIM#i5_ zU&bQ5E~FMn+Y6G7PPWoTofIw1Zypvf4uS3Yfu#Wj$%{e;w*;}=-k1zyV^V<<3du_p z=pyC?`}8j#s!R!KM+X>L)D<-r$)k8RjaIbneV7GW5po@F_-}6;XcGgz!$oPMj7)Mi z&BNhZeG1+%%G_i@Aw3AI3n(dkB#bWFlt_=-K(*xN%=z#nz|dGsz){GvHS&kGvFoT6 z3BhaGuycarRFk6+e&&23pk)9l^6)9C`-b`G9f_;I5=FcPjqU+O8D!uf7~T7UEe2}r zINK+MC&j)AV^$ZFdnc&DQcVhI(%k@4WaCGKv5hHAXuzB{oAgToM`VP!I^^vv0fTK( zP6u%q^B-*^e@IpTGKYY%^!yWZZN^{3toc-J=ZHD=4KS2HHEX&*FCoRegpiJOQ&1qA z$Vu#7TB5$8z9oH%9ASh)G%yXDb0v6j-=lYUISC%y*_IGp`9-A-@FP8Eo-jOIDM2nk zIFr+>_ER(pQa8(Pp@|x2o<$ute)T>!p&cnFn;T~u!y7fJRM?HwO1WUy6~cg8bVh?Q zO#onOs2NNj)H)dZe^^LXhEJiM)bVwXecllIG2?FPgV>gKpgpY_iYiOWmCvPl z*GqutXl|db^!pL03*m80$F?2^ofv9CpK6TTwbO>bQ%!oNtx3!kaJ{}4|Mjb+wg7tZ z09cDnj;4NJ`k{DJc#pRDXAs^>+zmHxYs=t;MKaZIpU-Ob>!GG)#D~X`gu!8J9qjkDpWoEG0&ZkV-$qH6qA#`V|L>`kVckljEVh)c0NY zR3h3*kRav)`|^``-cI)fk=CSo@bS6Sps&+HrM8H~iS5{sCZ7V=4H9AY_tb}hd#8|0&EsMa(7aTo(_J{K$ii2{5nVPeOaOLy4YT-)uqq=}O=xr2i2&65PHDJD*dsQz9|lP@4<3Um{@K-Ji{ zo`iX={3d0&)_yb&R9&Zsn()cjD$_pQ2Kn74ALpK4gWc&U&nKtsgb@@Y0}*91FX`Y) zHcB@$E`K_8EfcLmgYrVwQ^&_w^rTdHpL+%mHKuYG@u!PKY}I#eea0^)abW^ou44bR z_iT%ACNC=)k%Zaj&3{Or-wfl%yKm4BcoRFN4^uo>c?w3d>ovb#dE`_79kd}1SJES8 z>O@XuX*>3QeUgu7g`l9wx)Xgv_I-G=qV3lffV*syzN`AKvQdo-O|&Vo1@~w~%CfXk z+kdmh-&cv{ zg_kKm#6#7*hgeVSJ|GB4!k++>W!l#PdAK5oHWjkQu!dTab zmnUL254nm}>#c(~oAAyA<3zj!CeY^!KlBCkUImYQHWJ#iMj$nBl*zlNvHM?x`LwlS z^)!^r2&PMjUQWlyHk*5%dAWI)&{1(IAAZ`+PqfmYVvt=7v61VS9*!q% z$4wm1H}aUNE|zx}d_f_+O%X9z7<~096WW1Bg&#^R5U|ny0y1?H-Y125f~)DTfmMr* zeq!0Nx&=8{3TxcdIeUhR6Y$dW3~8A+V43M}dh4C&k6doitNCK{IXX|E|8UetaesM5 zFQDur?s^$h=jYg?wIhS<&1r)yB$1f}Yj-_mV*(a3_e|>rc_j^M*LkFj{K1a6xfoVe zV!varP)>^*Hb~i>zsw$A_%JYXN;*btarP4v7?JKb?wKf{dke%CObivQebGS&xjkW( z)1gO-%gsNzLf9a{q5$vQTa_P>KJ8w*+0zio(Ak~3X2g4Bkl1i@nPVOuc_yR+t+IEd zzoO!`q?48j?IMZf`9`@hNN&5w;l;=A9L>gCyEwoO z>5NC=pvW3A5M>0kt+=d!rjLdH7I*BvopUXoS6G!bomsO|)2?pvDOS@TaGxvf4ilFe zh}{$2n(n5vz|VR*fRLV-sgHBRm&}*FFdA}aDb>B0$L!owFDh|`1$Ildqxc@5CEB}8 z1c0gDqEV)9=4f0A;qIrsgM9Y~=CZ^Cz6%0aO_a{Eg~NGfh~lg#wSFLh&4O#Oe8#K$ z9-k+Ectg=cPb5xS#QbbAMQG=pT&-;XN^X;zk%z(ef`+RmtwfZp3TNvV@IGOhr;>>q zt#1ZCdalAuj%W@z9#XDh(rOZ<>{CL9WqeF-tb6O0B|w>!5DW0XF817N0^I$jBd(Sg z^jH<=rDUeu(?m?m6>o~6+h9bft>a+Gvta}KfXwIcMFK&XKY`qSN$7Hf$?Vpt09 zuwl8v+CGc&xz%-tn1=?3l>uvm)h{$$s;s9pl1HjaCh2dsyWnYKnhUc;b4i`JE@i?kfa{@#8*bNEbm0tF$(?UiwbetNZtlJkBE`4xE_iA?$nFwV3#fchbyZp zkjYl?y@Fa2hd>nkJ8UvnY+o|nZBq1ZSy?+>lj0viXIY8>#FpotPb2s^gfMpjKz@## zlliENhaj^xncybqz;aW-1DOh$Ih<0EAaS9 zJ7D%K;-2`5iWq2lGD=ke-%4cr9z0A37y$kxtgvQGFd4li^hqJ2|JE9=MPA%mP zYQVG4|M{_`OC{g++jU2^sI)d_&wzR5k&J<{9aFWaexmzO)am_YV@a1EncSeUQY`R` z*Rk_W7>e7LvDx8`2!51d%ch5Vr;?^j_w%zhFGm0T15nWa3xutIRi1yv^!nEkzkZ!^6#Yso?fx69 zfcP0jImu8!@fX>wprE-(R%Adsb#WPErHVh)M-nLDlH37%o{j)k} z34V>YM(Nq)Yo$J&RUm+99F(EJ+nM)Sp1xZ&`{wD}xvPf*fjbtfJeih^=JQG))~HF09Y)Z zq3)C%_{4(DGJsJ3VO<*UXXga^FPKI}g9JbPV)#%v_bc5fb8(z|wklDjG}ZFsJG7E9 zMUEeG(Yv30*5X$=kBdwEc#p!P#B4;w#7A{+1+qrrq>2X>_#0wzeO~Qyd;Mjc+my5C zE?%*v3ed|(5T2mV@kQ$6KKOVUg2nJFnYus+P!j1c9=B^@8*FZ#3)m~9b%*tEG zYUM|i!w!g*EZj@y$-Cz(<5(n7ak>L|uY+BtnqN}V@ zH*q|n{QyTq3dg`ek9Xpx74G#?0!DsTtZR=Qke{7^czU5)Y*KWD<--icTrcVD43C z50!fq(h0^qAhcZujMg)fURBkA1FjzmOt~B!6zg1hS}jiD-YK`I^wE@sX)(o6!M`U7 zOJlnD{<0q}({xYU&1Dh&p{z2~xT_5@?Rn2C%wfzE?n1E9LMa0$PB07)g}_!X=*s ziwQ@GaD^L#9pk-%gyMpw}}CX%1&;IJ6ibL%@ukqa=#A##tAU*LqT)EpFsI_jS-7PuxC=$AY`Fjro_ zd*iURfblEE9MiqfQHG+k6y?Ljxb+giLq6FOu~g`ImP&mzd*SS>z=;U^?wd;|Gp0oc z#=w^mwUw)ja61OB_hqCmtyhNjleTPyYksx`-j=kX)A%ocrv8%KBVDpiAx0!xP#dT+$ zbg37Dhu^pS+$)~Xqyju?F8Gm+@02d5wlK_YIprT*7uSZY!{r_vMfCZ=XMz=#PQobk5snSh1EsGK6q9O z;71~St@y6=$?k2e3_gNiqUIK}B1N3j6_1}3k31EK#gY-&3#hP0Qw0T@K3(}Fi3rMh zCnMc+SI*2pdx&+`9-VIZ_G$VQ?KF!SWdF>y1Fq|67v2~=pqw>W!`8k1$sL|{9J*f; z(iK!wk(LJ4kjEu&aM~zo7^k~wbeDP1hz@wzxK@w0(??xo(qelcY_Kktv6yci>pz!% z?ATMg=ZN`vj)3?#O#wZB}#EcC}a+xQ{E_fb>= zY~@>^kv42XG$--EGmpXDzgl^eA+TRHdX+#hTE-}|{sDNdAXsvC^o3-iTW`&U)a|rk ztXZwr{7#PG4FfIgnE5*lmWj_FLt4k#c0_bLP)Nvi`&lvIcSB5KnSE^XzFMj=$4QQ_ zR>Y(Cr}b++r~;~Hb2 xip39$A7g4fvd`iEz3IPqO^~V@N7tOyWM2dQuygsB^QHb#p4C5jobvb2{|h3L%k}^O literal 0 HcmV?d00001 diff --git a/server.go b/server.go new file mode 100644 index 0000000..252dcf3 --- /dev/null +++ b/server.go @@ -0,0 +1,99 @@ +// Copyright 2016 . All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build ignore + +package main + +import ( + "flag" + "log" + "net" + "net/http" + "os/exec" + "runtime" + "time" +) + +var ( + flagRootDir = flag.String("dir", ".", "root dir") + flagHttpAddr = flag.String("http", ":8080", "HTTP service address") + flagOpenBrowser = flag.Bool("openbrowser", true, "open browser automatically") +) + +func main() { + flag.Parse() + + host, port, err := net.SplitHostPort(*flagHttpAddr) + if err != nil { + log.Fatal(err) + } + + if host == "" { + host = getLocalIP() + } + httpAddr := host + ":" + port + url := "http://" + httpAddr + "/_book" + + go func() { + log.Printf("dir: %s\n", *flagRootDir) + + if waitServer(url) && *flagOpenBrowser && startBrowser(url) { + log.Printf("A browser window should open. If not, please visit %s", url) + } else { + log.Printf("Please open your web browser and visit %s", url) + } + log.Printf("Hit CTRL-C to stop the server\n") + }() + + log.Fatal(http.ListenAndServe(httpAddr, http.FileServer(http.Dir(*flagRootDir)))) +} + +// waitServer waits some time for the http Server to start +// serving url. The return value reports whether it starts. +func waitServer(url string) bool { + tries := 20 + for tries > 0 { + resp, err := http.Get(url) + if err == nil { + resp.Body.Close() + return true + } + time.Sleep(100 * time.Millisecond) + tries-- + } + return false +} + +func getLocalIP() string { + addrs, err := net.InterfaceAddrs() + if err != nil { + return "127.0.0.1" + } + for _, address := range addrs { + if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { + if ipnet.IP.To4() != nil { + return ipnet.IP.String() + } + } + } + return "127.0.0.1" +} + +// startBrowser tries to open the URL in a browser, and returns +// whether it succeed. +func startBrowser(url string) bool { + // try to start the browser + var args []string + switch runtime.GOOS { + case "darwin": + args = []string{"open"} + case "windows": + args = []string{"cmd", "/c", "start"} + default: + args = []string{"xdg-open"} + } + cmd := exec.Command(args[0], append(args[1:], url)...) + return cmd.Start() == nil +}