代码点读机 / Go / defer

defer Go · 关键字

把一句话先存进"离开前必做清单",函数 return 之前按后进先出顺序执行,像离开会议室时先关灯、再锁门(后说的先做)。

怎么用

defer 语句

小例子

func main() {
    defer fmt.Println("第二步")
    defer fmt.Println("第一步")
    fmt.Println("干活")
}

运行结果

输出
干活
第一步
第二步

提醒:defer 在函数返回前执行,常用于释放资源

官方文档:https://go.dev/ref/spec#Defer_statements

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Go全部词条