From aed49f9d1ba29786dd95834f73d83ad4fd5f823e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8B=AC=E5=AD=A4=E4=BC=B6=E4=BF=9C?= <1184662350@qq.com> Date: Sat, 7 Jan 2023 22:34:41 +0800 Subject: [PATCH] =?UTF-8?q?day10=E5=8D=8F=E7=A8=8B=20=E4=B8=B2=E8=81=94=20?= =?UTF-8?q?channel=20=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/study/day10Goroutines/LinkChannels.go | 33 ++++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/study/day10Goroutines/LinkChannels.go b/src/study/day10Goroutines/LinkChannels.go index 0fe6441..8be5acb 100644 --- a/src/study/day10Goroutines/LinkChannels.go +++ b/src/study/day10Goroutines/LinkChannels.go @@ -13,24 +13,37 @@ func main() { close(natural) // 关闭channel }() + //// squarer + //go func() { + // for { + // x, ok := <-natural + // if !ok { + // break // channel关闭,跳出循环 + // } + // square <- x * x + // } + // close(square) + //}() + // + //// printer (in main goroutine) + //for { + // x, ok := <-square + // if !ok { + // break + // } + // println(x) + //} + // squarer go func() { - for { - x, ok := <-natural - if !ok { - break // channel关闭,跳出循环 - } + for x := range natural { square <- x * x } close(square) }() // printer (in main goroutine) - for { - x, ok := <-square - if !ok { - break - } + for x := range square { println(x) } }