写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一 个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
out := make(chan int)
wg.Add(2)
go func() {
defer wg.Done()
for i := 1; i <= 5; i++ {
out <- i
}
close(out)
}()
go func() {
defer wg.Done()
for v := range out{
fmt.Println(v)
}
}()
wg.Wait()
}

浙公网安备 33010602011771号