该规范说:
在执行函数F时,显式调用panic或运行时panic会终止F的执行。然后,照常执行F延迟的任何函数。接下来,运行由F的调用者运行的所有延迟函数,依此类推,直到执行goroutine中顶级函数延迟的任何函数。这时,程序终止,并报告错误情况,包括紧急情况的参数值。此终止序列称为恐慌。
因为
fun2是在goroutine中执行的顶层函数,
fun2并且无法从紧急情况中恢复,所以程序在发生
fun2紧急情况时会终止。
fun1当goroutine执行
fun2恐慌时,不会调用延迟调用。
一个goroutine无法从另一个goroutine的恐慌中恢复过来。



