defer是什么意思(Go语言基础-defer延迟函数)

defer关键字放在函数或方法之前,可以是函数或方法延迟到调用该函数的函数退出之后执行。

测试1:不使用defer关键字,正常的函数调用

defer是什么意思(Go语言基础-defer延迟函数)

从结果可以看出程序按顺序执行了四个Println函数。

测试2:在第一句前添加defer关键字

defer是什么意思(Go语言基础-defer延迟函数)

可以看到第一句最后被执行。

测试3:使用return提前退出函数。

defer是什么意思(Go语言基础-defer延迟函数)

在执行完第二句之后退出函数,可以看到延迟函数仍被执行。

测试4:多个defer函数

defer是什么意思(Go语言基础-defer延迟函数)

从测试结果可以看到第二个defer先执行了。所以多个defer执行顺序和声明的顺序是相反的。

测试5:改变延迟函数使用的变量

defer是什么意思(Go语言基础-defer延迟函数)

例子中Println虽然是在i++之后执行的。但是它打印出的值是在Println函数之前的值,也就是初始的1。

延迟函数可以确保被执行,常用于释放资源,关闭数据库连接等。


华风扬是一家创业点子分享平台,在这里提供互联网创业项目,以及引流推广、网络营销、实操案例分享,需要网上创业点子那就上华风扬,找项目,学推广就来华风扬!

联系我们:微信公众号搜索“大婶说事”

版权声明:本站部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,如若转载,请注明出处:http://www.uxxsn.com/84829.html

发表评论

您的电子邮箱地址不会被公开。