惯用缓冲os.Stdout

Wil*_*ell 40 go

os.Stdout.Write()是一个无缓冲的写.要获得缓冲写入,可以使用以下内容:

f := bufio.NewWriter(os.Stdout)
f.Write(b)
Run Code Online (Sandbox Code Playgroud)

题:

是否有更惯用的方式来获得缓冲输出?

Ste*_*erg 49

不,这是缓冲写入Stdout的最惯用的方式.在许多情况下,您还需要添加延迟:

f := bufio.NewWriter(os.Stdout)
defer f.Flush()
f.Write(b)
Run Code Online (Sandbox Code Playgroud)

这将确保从函数返回时刷新缓冲区.