1、主协程先退出导致子协程没来得及调用
示例:
package main import ( "fmt" "time" ) //主协程退出了,其它子协程也要跟着退出 func main() { go func() { i := 0 for { i++ fmt.Println("子协程 i = ", i) time.Sleep(time.Second) } }() //别忘了() }
执行结果
(备注:没有结果,主协程退出,子协程也跟着退出了。)
1、主协程先退出导致子协程没来得及调用
示例:
package main import ( "fmt" "time" ) //主协程退出了,其它子协程也要跟着退出 func main() { go func() { i := 0 for { i++ fmt.Println("子协程 i = ", i) time.Sleep(time.Second) } }() //别忘了() }
执行结果
(备注:没有结果,主协程退出,子协程也跟着退出了。)