defer

当有多个 defer 行为被注册时,它们会以逆序执行(类似栈,即后进先出)

package main
import (
    "fmt"
)
func main() {
    fmt.Println("defer begin")
    // 将defer放入延迟调用栈
    defer fmt.Println(1)
    defer fmt.Println(2)
    // 最后一个放入, 位于栈顶, 最先调用
    defer fmt.Println(3)
    fmt.Println("defer end")
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • [TOC] golang语言defer特性详解 defer语句是go语言提供的一种用于注册延迟调用的机制,它可以让...
    木鸟飞鱼阅读 4,438评论 3 4
  • 参考:http://c.biancheng.net/view/61.html 关键点 希望通过下面的关键词,能够实...
    码二哥阅读 295评论 0 0
  • 本文将会讲解defer, recover,panic相关的知识。主要内容包括: defer的原理panic与rec...
    链人成长chainerup阅读 1,179评论 0 0
  • 序:这里是一个人在玩独角戏的任桑刚才煮饭把电饭锅煮炸了,电闸都跳了,吓死我了赶紧来写写教程,压压惊 第一节:环境每...
    清雪半夏阅读 847评论 0 0
  • 《野菊花》(微诗) 文/英菽 1、 不须暖室,也无须樊篱, 不让芬芳在富贵中窒息, 要让清香盈野,香透晨曦。 2、...
    不语不问阅读 472评论 0 1

友情链接更多精彩内容