golang defer相关知识点

本文介绍了Go语言中defer关键字的使用场景、使用方法及其注意事项。详细解释了如何利用defer进行资源释放及成对操作的管理,并强调了defer在函数执行过程中的调用时机以及一些特殊情况下的行为表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.defer使用场景

2.defer 怎么用?

3.defer 延迟到什么时候调用?

4.使用defer的注意事项


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函数不会执行

参考

1.Go Quiz: 从Go面试题看defer语义的底层原理和注意事项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值