目录
1.defer使用场景
1.释放资源
2.处理成对的操作,比如打开,关闭,建立连接,断开连接,加锁,释放锁
2.defer 怎么用?
defer+ 延迟使用的函数/方法
3.defer 延迟到什么时候调用?
A函数中运行defer B(param) B函数会延迟到A return或者panic之前被调用
4.使用defer的注意事项
1.如果需要修改return的返回值,需要使用命名返回值
2.一个函数中有多个defer,执行后进先出
3.defer函数存在多级调用,只有最后一个函数会被延迟执行
4.os.Exit(0) 遇到这个命令,程序会立即退出,defer函数不会执行
参考