Go defer 延迟函数调用 - go 训练营
go 的 defer 语句是用来延迟执行函数的,而且延迟发生在调用函数 return 之后,比如
func a() int {
defer b()
return 0
}
b 的执行是发生在 return 0 之后,注意 defer 的语法,关键字 defer 之后是函数的调用。
由于 defer 的延迟特性,defer 常用在函数调用结束之后清理相关的资源,比如
f, _ := os.Open(filename)
defer f.Close()
文件资源的释放会在函数调用结束之后借助 defer 自动执行,不需要时刻记住哪里的资源需要释放,打开和释放必须相对应。
欢迎参加 Go 训练营挑战,这些挑战将帮助你逐步掌握 Go 开发。Go(又称Golang)是 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。在 2016 年,Go 被软件评价公司 TIOBE 选为“TIOBE 2016年最佳语言”。