46

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

f := bufio.NewWriter(os.Stdout)
f.Write(b)

问题:

有没有更惯用的方法来获得缓冲输出?

4

1 回答 1

55

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

f := bufio.NewWriter(os.Stdout)
defer f.Flush()
f.Write(b)

这将确保在您从函数返回时刷新缓冲区。

于 2012-11-16T18:39:36.657 回答