在Go语言中,以下内容Open带有延迟名称Close是惯用的:
func example() {
f, err := os.Open(path)
if err != nil {
return
}
defer f.Close()
}
Run Code Online (Sandbox Code Playgroud)
如果没有我该怎么办defer f.Close()?
当我调用此函数并f超出范围时,它会自动关闭文件还是具有僵尸文件句柄?
如果它自动关闭,那么什么时候才执行呢?