No, that is the most idiomatic way to buffer writes to Stdout. In many cases, you will want to do also add a defer:
f := bufio.NewWriter(os.Stdout)
defer f.Flush()
f.Write(b)
This will ensure that the buffer is flushed when you return from the function.