写代码实现两个 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()
}

  

posted @ 2021-09-13 22:02  brady-wang  阅读(139)  评论(0编辑  收藏  举报