go-函数结束协程结束吗
结论为先
在main或其他函数中开协程,主程序结束了,协程还继续执行吗?
结论:main函数中的协程,如果main结束了,协程也会结束
其他函数里的协程,函数结束了,只要main没结束,协程就会执行。
代码
package main
import (
"fmt"
"time"
)
func main() {
test()
time.Sleep(time.Second*20)
}
func test() {
//定时完成的操作写在协程里
ticker := time.NewTicker(time.Second * 1)
//ch := make(chan int)
go func() {
var x int
for x < 10 {
select {
case <-ticker.C:
x++
fmt.Printf("%d\n", x)
}
}
ticker.Stop()
//ch <- 0
}()
//<- ch
fmt.Println("bye")
}

浙公网安备 33010602011771号