go panic探索

panic 发生之后,如果 Go 不做任何特殊处理,默认行为是打印堆栈,退出程序。

panic 到底是什么?

  1. panic( ) 函数内部会产生一个关键的数据结构体 _panic ,并且挂接到 goroutine 之上;
  2. panic( ) 函数内部会执行 _defer 函数链条,并针对 _panic 的状态进行对应的处理;
阅读更多