12.7 用 defer 关闭文件
最后更新于:2022-04-01 20:57:13
## 12.7 用 defer 关闭文件
`defer` 关键字(参看 6.4)对于在函数结束时关闭打开的文件非常有用,例如下面的代码片段:
~~~
func data(name string) string {
f := os.Open(name, os.O_RDONLY, 0)
defer f.Close() // idiomatic Go code!
contents := io.ReadAll(f)
return contents
}
~~~
在函数 return 后执行了 `f.Close()`
';