Skip to content

每日一题

第一天

  1. 下⾯这段代码输出的内容
go
package main

import (
 "fmt"
)

func main() {
 defer_call()
}

func defer_call() {
 defer func() { fmt.Println("打印前") }()
 defer func() { fmt.Println("打印中") }()
 defer func() { fmt.Println("打印后") }()
 panic("触发异常")
}
点我查看答案
打印后
打印中
打印前
panic: 触发异常

解析:defer 的执⾏顺序是后进先出。当出现 panic 语句的时候,会先按照 defer 的后进先出的顺序执⾏,最后才会执⾏panic。

最后一次更新于:

🚀 学习遇到瓶颈?想进大厂?

看完这篇技术文章,如果还是觉得不够系统,或者想在实战中快速提升?
王中阳的就业陪跑训练营,提供定制化学习路线 + 企业级实战项目 + 简历优化 + 模拟面试。

了解训练营详情