diff --git a/eBook/12.7.md b/eBook/12.7.md new file mode 100644 index 0000000..79323e2 --- /dev/null +++ b/eBook/12.7.md @@ -0,0 +1,21 @@ +# 用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)