mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 02:16:48 +08:00
21 lines
548 B
Markdown
21 lines
548 B
Markdown
# 12.7 用 defer 关闭文件
|
||
|
||
`defer` 关键字(参看 [6.4](06.4.md))对于在函数结束时关闭打开的文件非常有用,例如下面的代码片段:
|
||
|
||
```go
|
||
func data(name string) string {
|
||
f, _ := os.OpenFile(name, os.O_RDONLY, 0)
|
||
defer f.Close() // idiomatic Go code!
|
||
contents, _ := ioutil.ReadAll(f)
|
||
return string(contents)
|
||
}
|
||
```
|
||
|
||
在函数 `return` 后执行了 `f.Close()`
|
||
|
||
## 链接
|
||
|
||
- [目录](directory.md)
|
||
- 上一节:[用切片读写文件](12.6.md)
|
||
- 下一节:[使用接口的实际例子:fmt.Fprintf](12.8.md)
|