最近在学golang,学到管道与协程,如何保证协程执行完毕之前主线程不退出呢?
可以在主线程最后加上time.Sleep(time.Second)等待协程执行完毕,但是我们没办法确定到底要等待多长时间,因此这种方法不合适。
方法一 利用管道
这是一个求素数的程序:
var intChan = make(chan int, 1000)
var primeChan = make(chan int, 2000)
var exitChan = make(chan bool, 4)
go putNum(intChan)
for i