写入stdout而不创建缓冲区

时间:2016-12-05 21:15:30

标签: go

在循环中我做了一些计算然后我想从字节数组中打印一个字符串值,一旦完成循环就打印一个新行。

使用fmt.Print将分配缓冲区,但我想要做的就是将字符打印到stdout。有没有办法做到这一点?

for i, i < size; i++ {
    b = a[i] + i * 10
    fmt.Print(string((b)))
}
fmt.Println()

2 个答案:

答案 0 :(得分:2)

只需写入os.Stdout文件即可完成此操作:

var buff [1]byte
for i, i < size; i++ {
    b = a[i] + i * 10
    buff[0] = b
    os.Stdout.Write(buff[:])
}
buff[0] = '\n'
os.Stdout.Write(buff[:])

答案 1 :(得分:1)

您可以使用containsObject:代替fmt.Printf,例如:

fmt.Print(string((b)))