defer

defer的词义:”延迟“,”推迟“

在go语言中使用关键字defer来延迟一个函数或方法的执行

1.defer 函数或方法:一个函数或方法的执行被推迟了

2.defer的用法:
	A:对象.close(),临时文件的删除...
	B:go语言中关于异常的处理,使用panic()和recover()
		panich函数用于引发恐慌,导致程序中断执行
		recover函数用于恢复程序的执行,recover语法上要求必须在defer中执行

3.当一个函数有多个延迟调用时,它们被添加到一个堆栈中,并在Last In First Out(LIFO)后进先出的顺序中执行

4.defer函数传递参数的时候:defer函数调用时,就已经传递参数数据了,只是暂时不执行函数中的代码而已

5.defer函数的注意点:
	defer函数:
		当外围函数中的语句正常执行完毕时,只有其中所有的延迟函数都执行完毕,外围函数才会真正的结束执行。
		当执行外围函数中的return语句时,只有其中所有的延迟函数都执行完毕后,外围函数才会真正返回。
		先defer的后执行,后defer的先执行。
		当外围函数中的代码引发运行恐慌时,只有其中所有的延迟函数都执行完毕后,该运行时恐慌才会真正被扩展至调用函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值