From 4384c8e5a73ddd5330530570970838343f7f435d Mon Sep 17 00:00:00 2001 From: ashui Date: Wed, 3 Jan 2018 23:24:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9ch1-06=E7=AC=94=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch1-basic/ch1-06-goroutine.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ch1-basic/ch1-06-goroutine.md b/ch1-basic/ch1-06-goroutine.md index b0f221b..53f0260 100644 --- a/ch1-basic/ch1-06-goroutine.md +++ b/ch1-basic/ch1-06-goroutine.md @@ -139,13 +139,13 @@ Go语言实现生产者消费者并发很简单: // 生产者: 生成 factor 整数倍的序列 func Producer(factor int, out chan<- int) { for i := 0; ; i++ { - item <- i*factor + out <- i*factor } } // 消费者 func Consumer(in <-chan int) { - for _, v := range in { + for v := range in { fmt.Println(v) } } @@ -174,9 +174,9 @@ func main() { go Consumer(ch) // 消费 生成的队列 // Ctrl+C 退出 - ch := make(chan os.Signal, 1) - signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM) - fmt.Printf("quit (%v)\n", <-ch) + sig := make(chan os.Signal, 1) + signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM) + fmt.Printf("quit (%v)\n", <-sig) } ``` From 50177829035bd8f6b2e6ef320a915a64337abe55 Mon Sep 17 00:00:00 2001 From: barryz Date: Wed, 3 Jan 2018 23:41:56 +0800 Subject: [PATCH 2/2] empty slice not equal to nil --- ch1-basic/ch1-03-array-string-and-slice.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ch1-basic/ch1-03-array-string-and-slice.md b/ch1-basic/ch1-03-array-string-and-slice.md index 8de216a..c17d9ef 100644 --- a/ch1-basic/ch1-03-array-string-and-slice.md +++ b/ch1-basic/ch1-03-array-string-and-slice.md @@ -365,8 +365,8 @@ type SliceHeader struct { ```go var ( - a []int // 空切片, 和 nil 相等 - b = []int{} // 空切片, 和 nil 相等 + a []int // nil切片, 和 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