menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right All_wiki chevron_right the-way-to-go_ZH_CN chevron_right eBook chevron_right 12.7.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    12.7.md
    568 B / 2024-07-16 23:14:28
        # 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)
    
    
    links
    file_download