如何关闭golang中的bufio.Reader/Writer?
如何关闭golang中的如何关闭golang中的bufio.Reader/Writer?,go,Go,如何关闭golang中的bufio.Reader或bufio.Writer func init(){ file,_ := os.Create("result.txt") writer = bufio.NewWriter(file) } 我是否应该关闭编写器?或者只使用file.Close()将使Writer关闭?据我所知,您无法关闭bufio.Writer 您要做的是Flush()bufio.Writer,然后Close()os.Writer: writer.Flush() f
bufio.Reader
或bufio.Writer
func init(){
file,_ := os.Create("result.txt")
writer = bufio.NewWriter(file)
}
我是否应该关闭
编写器
?或者只使用file.Close()
将使Writer
关闭?据我所知,您无法关闭bufio.Writer
您要做的是Flush()
bufio.Writer,然后Close()
os.Writer:
writer.Flush()
file.Close()
我认为以下是典型的:
func doSomething(filename string){
file, err := os.Create(filename)
// check err
defer file.Close()
writer = bufio.NewWriter(file)
defer writer.Flush()
// use writer here
}
是的,总是脸红,它在一个小项目中咬了我。记住你可以做
w:=bufio.NewWriter
defer w.Flush()
@ThomasAhle忽略w.Flush的错误是一个好主意吗?@Shanicky\u C如果您想进行更高级的清理,您可以defer clean(w)
左右。writer.Flush()是否保证在文件.Close()之前运行?如果没有,在刷新写入程序之前关闭文件会发生什么情况?延迟
顺序在golang中指定,后进先出。