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)
这将确保从函数返回时刷新缓冲区.