go - 在不创建缓冲区的情况下写入标准输出

标签 go

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

使用 fmt.Print 将分配一个缓冲区,但我只想将字符打印到标准输出。有办法吗?

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

最佳答案

您只需写入 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[:])

关于go - 在不创建缓冲区的情况下写入标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40983475/

相关文章:

go - 为什么下面的 Golang 代码没有运行?

algorithm - 如何合并多个重叠的日期范围并创建新的日期范围?

go - 外键违规应该是客户端错误吗?如果是,应该如何处理?

C++ 与 Python 在特定问题上的对比

go - 配置[执行构建]/[执行测试]等以在诊断消息中显示绝对路径

string - 有什么方法可以在打印语句中没有 7、-48 .... 等的情况下以漂亮的方式显示输出?

go - 按类型划分的功能?怎么重构呢?

go - 为什么Go经常将字符串数据存储在未对齐的地址处

go - 错误 : (gcloud. functions.deploy) OperationError : code=3, 消息=构建失败错误 ID:6191efcd

Go x/crypto/ssh -- 如何通过堡垒节点建立到私有(private)实例的 ssh 连接