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) } }