Files
the-way-to-go_ZH_CN/eBook/12.7.md
2015-09-29 23:18:58 +08:00

22 lines
502 B
Markdown

# 用defer关闭文件
`defer`关键字(参看6.4)对于在函数结束时关闭打开的文件非常有用,例如下面的代码片段:
```go
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()`
## 链接
- [目录](directory.md)
- 上一节:[用切片读写文件](12.6.md)
- 下一节:[一个使用接口的实际例子:fmt.Fprintf](12.8.md)