gpt4 book ai didi

go - 为什么 Go 中的 io.Writer 没有 NopCloser?

转载 作者:行者123 更新时间:2023-12-01 22:42:43 26 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.

1年前关闭。




Improve this question




Go 有一个 ioutil.NopCloser ,用于将 io.Reader 转换为 io.ReadCloser。
不是有把 io.Writer 转换成 io.WriteCloser 的函数吗?如果是这样,那是为什么?

最佳答案

只有那些编写图书馆的人才能准确地说出原因,但总的来说,读者和作者之间存在不对称:读者没有修改任何东西,也不需要任何最后的握手来停止阅读。另一方面,编写者通常需要在流关闭时完成他们正在编写的任何内容。例如,缓冲文件写入器必须写出最终缓冲区。压缩作者需要写出最终的压缩 block 并(取决于算法)写一个预告片。文件作者通常也需要编写预告片。

由于 writer 的 close 相对很少是 no-op,而对于 reader 来说通常是 no-op,因此提供 reader 包装器而不提供 writer 包装器是有意义的。

关于go - 为什么 Go 中的 io.Writer 没有 NopCloser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62359985/

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