Explorar o código

完成12.7章节

光子 %!s(int64=10) %!d(string=hai) anos
pai
achega
6dcc864d9e
Modificáronse 1 ficheiros con 21 adicións e 0 borrados
  1. 21 0
      eBook/12.7.md

+ 21 - 0
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)