Как я могу закрыть bufio.Reader/Writer в golang?

Как я могу закрыть bufio.Reader или bufio.Writer в golang?

func init(){
    file,_ := os.Create("result.txt")
    writer = bufio.NewWriter(file)
}

Должен ли я закрыть Writer? или просто используйте file.Close() сделает Writer близким?

Ответ 1

Насколько я знаю, вы не можете закрыть bufio.Writer.

Что вы делаете, это Flush() bufio.Writer а затем Close() os.Writer:

writer.Flush()
file.Close()

Ответ 2

Я думаю, что следующее каноническое:

func doSomething(filename string){
    file, err := os.Create(filename)
    // check err
    defer file.Close()
    writer = bufio.NewWriter(file)
    defer writer.Flush()

    // use writer here
}