当前位置:网站首页>Go语言自学系列 | golang defer语句
Go语言自学系列 | golang defer语句
2022-04-21 20:34:00 【COCOgsta】
视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客
go语言中的defer语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按defer定义的逆序进行执行,也就是说,先被defer的语句最后被执行,最后被defer的语句,最先被执行。stack,后进先出
defer特性
- 关键字 defer 用于注册延迟调用。
- 这些调用直到 return 前才被执。因此,可以用来做资源清理。
- 多个defer语句,按先进后出的方式执行。
- defer语句中的变量,在defer声明时就决定了。
defer用途
- 关闭文件句柄
- 锁资源释放
- 数据库连接释放
go语言defer语句实例
查看执行顺序
package main
import "fmt"
func main() {
fmt.Println("start")
defer fmt.Println("step1")
defer fmt.Println("step2")
defer fmt.Println("step3")
fmt.Println("end")
}
运行结果
[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
start
end
step3
step2
step1
版权声明
本文为[COCOgsta]所创,转载请带上原文链接,感谢
https://blog.csdn.net/guolianggsta/article/details/124325095
边栏推荐
猜你喜欢
随机推荐
教你轻松解决CSRF跨站请求伪造攻击
LeetCode_70 爬楼梯
Why do you have no idea when doing data analysis?
Liu Zhigang, former COO of Jinshan cloud, joined Baihai technology as president
双链表插入、删除操作单步解析(十四)
C# 版本的 計時器類 精確到微秒 秒後保留一比特小數 支持年月日時分秒帶單比特的輸出
My medical experience of "traditional Chinese medicine"
“国潮”积木,潮玩的下一个答案?
vmware-vmx.exe无法结束进程
Jmeter关联参数
88%工业人都不知,小程序这7点,能让营收暴增,粗暴有效!强烈建议收藏,反复读!
La classe Timer de la version C # conserve une décimale pour supporter la sortie de l'unit é mm / JJ / MM / MIN / sec après avoir été exacte à microsecondes
Redis的两种基准性能测试方式
JUC queue interface and its implementation class
Mandelbrot集的最新变化形态一览——MandelBox,Mandelbulb,Burning Ship,NebulaBrot
微信服务端配置
After five years of outsourcing, I'm almost a loser
制造业数字化转型后发展的未来画像
How to make join run faster? (book at the end of the text)
Im instant messaging development technology: 1-10 million high concurrency architecture evolution








