gpt4 book ai didi

go - 标准输出到磁盘文件,有频率限制

转载 作者:行者123 更新时间:2023-12-01 21:13:43 25 4
gpt4 key购买 nike

if file, err := os.Create(os.TempDir() + "/stdout.txt"); nil == err {
// todo buffer write
os.Stdout = file
os.Stderr = file
} else {
log.Fatal(err)
}

这会将进程的输出写入磁盘,但是如果没有频率控制,可能会对磁盘造成沉重的负担。如何在写操作中添加缓冲区?

问题是 os.Stdout不是接口(interface),而是 *os.File
os.Stdout = bufio.NewWriter(file) // error

最佳答案

您没有详细指定您实际希望对写入器进行哪些限制,但您可以使用 bufio.Writer 添加一个缓冲区,以批量写入直到它们达到一定大小。在标准库中。一个小的实现说明是,在关闭底层编写器之前必须小心刷新缓冲区,以避免丢失输出数据。

关于go - 标准输出到磁盘文件,有频率限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61710682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com