defer 使用场景

  • 释放锁
  • 关闭文件
  • 关闭链接
  • 捕获panic 避坑指南: defer函数紧跟在资源打开后面, 否则defer可能得不到执行, 导致内存泄露.

defer 顺序

执行顺序: return -> return value -> defer. 多个 defer 调用顺序是 LIFO (后入先出), defer后的操作可以理解为压入栈中 defer可以修改函数最终返回值, 修改时机: 有名返回值或者函数返回指针

results matching ""

    No results matching ""