成都兄弟连IT培训学校

176-1289-1020

兄弟连区块链培训带你实战GO案例(7)Go Defer

编辑:成都兄弟连IT培训学校时间:2019-05-31

兄弟连区块链培训课程体系设计架构包括了区块链的基础语言Go语言、区块链后端技术体系、区块链公链、区块链分布式应用开发等内容讲解,以及到最后的面试指导和项目实战。课程由清华微软谷歌名师团队精心打造,历时半年时间共同研发而出。

GoDefer

Defer用来保证一个函数调用会在程序执行的最后被调用。通常用于资源清理工作。

packagemain

import"fmt"

import"os"

//假设我们想创建一个文件,然后写入数据,最后关闭文件

funcmain(){

//在使用createFile得到一个文件对象之后,我们使用defer

//来调用关闭文件的方法closeFile,这个方法将在main函数

//最后被执行,也就是writeFile完成之后

f:=createFile("/tmp/defer.txt")

//Windows下面使用这个语句

//f:=createFile("D:\\\\Temp\\\\defer.txt")

defercloseFile(f)

writeFile(f)

}

funccreateFile(pstring)*os.File{

fmt.Println("creating")

f,err:=os.Create(p)

iferr!=nil{

panic(err)

}

returnf

}

funcwriteFile(f*os.File){

fmt.Println("writing")

fmt.Fprintln(f,"data")

}

funccloseFile(f*os.File){

fmt.Println("closing")

f.Close()

}

运行结果

creating

writing

closing

使用defer来调用closeFile函数可以保证在main函数结束之前,关闭文件的操作一定会被执行。


上一篇:兄弟连区块链培训带你实战GO案例(6)Go Base64编码

下一篇:兄弟连区块链培训带你实战GO案例(7)Go Exit

联系方式

选择专业时,如果犹豫不定,不知道选择哪个比较好,敬请致电,专业的咨询老师会为你解答。

  • 报名热线:176-1289-1020
  • 咨询老师:何老师
  • 点击咨询:

友情连接:

关于我们|联系我们|网站地图

QQ咨询
在线咨询
在线报名
176-1289-1020
返回顶部