账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    打开的文件(*os.File)在不主动关闭的情况下,会在什么时候关闭?
    30
    0

    代码如下:

    package main
    
    import (
        "fmt"
        "io"
        "os"
    )
    
    func main() {
        f := openFile()
        useFile(f)
        useFile2(f)
    }
    
    func openFile() *os.File {
        //hello.txt 中的内容为 world
        f, _ := os.Open("hello.txt")
        return f
    }
    
    func useFile(f *os.File) {
        fmt.Println("第一次使用f")
        io.Copy(os.Stdout, f)
        fmt.Println()
    }
    
    func useFile2(f *os.File) {
        fmt.Println("第二次使用f")
        io.Copy(os.Stdout, f)
        fmt.Println()
    }

    输出:

    第一次使用f
    world
    第二次使用f

    在我第二次使用f(*os.File)的时候,f已经被关闭了,而我却并没有主动关闭它。
    疑问如下:
    打开的文件(os.File)在不主动关闭的情况下,会在什么时候关闭?*
    如果是在使用一次之后自动关闭,那我还需不需要主动关闭它?
    请大佬们帮我答疑解惑

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部