golang延迟调用函数defer

2019-12-30  本文已影响0人  程序小白菜

defer语句被⽤于预定对⼀个函数的调⽤。可以把这类被defer语句调⽤的函数称为延迟函数。

延迟的函数是按照后进先出(LIFO)的顺序执行

defer的作用
* 释放占用资源
* 捕捉异常状态
* 输出日志

func ReadWrite() bool {
    file.Open("file")
    defer file.Close() //file.Close() 被添加到了 defer 列表
    // 做一些工作
    if failureX {
        return false //Close() 现在自动调用
    }
    if failureY {
        return false //这里也是
    }
    return true //And here
}
上一篇下一篇

猜你喜欢

热点阅读