package main
import "fmt"
func main() {
defer func() {
fmt.Println("111")
}
defer func() {
fmt.Println("222")
}
defer func() {
fmt.Println("333")
}
panic("我发作了")
}
当看到上面代码时,可能会想它的机制,他的执行顺序是,先清空defer栈,然后panic
执行结果:
222
111
我发作了