golang defer 的意义

文章目录

    defer 的使用场景

    需要打开,并手动关闭的场合。例如:

    • open, close 文件
    • connect, disconnect 网络连接
    • lock, unlock 数据库事务

    defer 触发的时机

    在当前函数 return 的时候被触发。

    defer 的意义

    • 防止写完冗长的处理逻辑之后,忘记关闭操作。
    • 相对 python 的 with block。既不用缩进,也清晰直观