2、main goroutine:当一个程序启动时,其主函数即在一个单独的goroutine中运行,我们叫他为main gorountine
3、go goroutine:新的goroutine会用go语句来创建,go+函数名,go语句会使其语句中的函数在一新创建的goroutine中运行,而go语句本身会迅速地完成
4、goroutine的退出:主函数返回时,所有的goroutine都会被直接打断,程序退出,除了从主函数退出或者终止程序之外,没有其他方法能够让一个goroutine来打断另一个的执行,但是可以通过另一种方式来实现这个目的,通过goroutine之间的通信来让一个goroutine请求其他的goroutine,并让请求的goroutine自行结束执行
举个例子,如下
答案
解析:
defer函数在处理Panic() 和Recover()时的应用
panic 函数是内置的go函数,它 终止 go程序的当前流程并开始 panicking , recover 函数也是内置的一个go函数,允许你收回处理那些使用了 panic 函数的 goroutine 的控制权
来个案例