Go语言流程控制:延时执行defer
很多人喜欢Go语言,其实是因为Go语言有其独特的语言属性在支撑着其在编程语言界的发展,今天兄弟连Go语言+区块链培训老师给大家介绍一下关于Go语言中流程控制3:延时执行defer,下面我们一起来看一下吧。( )
defer概述
defer xxx() 延时执行,将xxx放在函数的最后执行
多个defer xxx()时,所有defer倒序执行,即早声明的defer会最后执行
用途
· IO(数据库读写,文件读写,网络数据读写)
· IO资源=数据库连接,打开的文件对象,网路连接
· IO资源开销(CPU,内存,磁盘…)巨大
· IO资源,随用随开,用完【即】关
场景
· IO只是场景之一
· 其它场景:消费完毕要单,运动完要洗澡,自习结束要关灯…
读写数据库,并在程序的最后关闭数据库
func demo41() {
//随用随开,用完【即】关
fmt.Println("打开数据库")
//defer所唤起的函数将在函数结束前才执行
defer closeDatabase()
fmt.Println("愉快地读写数据")
fmt.Println("读写完毕")
}
多个defer时,早defer的操作最后执行
func demo42() {
//打开数据库
fmt.Println("打开数据库")
defer closeDatabase()
//读入DB数据
fmt.Println("读入DB数据")
//打开文件
fmt.Println("打开文件")
defer closeFile()
//向文件中写出DB中的数据
fmt.Println("读入DB数据")
//关闭文件
//继续操作数据库
fmt.Println("继续操作数据库")
//关闭数据库
}
func closeDatabase() {
fmt.Println("关闭数据库")
}
func closeFile() {
fmt.Println("关闭文件")
}
更多区块链视频教程/源码/课件/学习资料-企鹅QUN:
文中图片素材来源网络,如有侵权请联系删除网上报名
新闻资讯
更多>>-
兄弟连“因材施教搭建桥梁”计划正式启动
2018-06-14
-
兄弟连PHP培训:高薪就业才是硬道理
2018-06-14
-
兄弟连北京安卓培训:万元高薪班级爆满
2018-06-14
-
25W高薪挑战安卓 零基础培训首选兄弟连
2018-06-14
-
兄弟连PHP教程发布 海量资源应有尽有
2018-06-14