golang善用go func和defer

qq_59906 21 0 PDF 2021-01-15 07:01:29

一、error与panic: error:可预见的错误 panic:不可预见的错误,panic一般通过defer中的recover()捕获 对于有风险的代码,若发生panic则会导致程序异常退出,例如数组越界。 1. panic的操守 panic是有秩序的,退出之前会执行完先处理完当前goroutine已经defer【挂上去】的任务,若某个defer在panic之后,则不会被执行。 panic仅保证当前goroutine下的defer都会被调到,但不保证其他协程的defer也会调到 同一goroutine下的已经挂上去的多个defer,回溯执行,即先进后出 例如: func main() {

用户评论
请输入评论内容
评分:
暂无评论