12.7.md 502 B

用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()

链接