知识卡片

ReaderWriter统一IO

专业/工作 · 471.b.4.b.2.a.2

内容

io.Reader 和 io.Writer 用小接口统一数据读写抽象,使文件、网络、缓冲区可以被同一套函数组合。发散:Go 标准库的优雅,常来自极小接口的重复组合。这也是[[接口实现多态]]强调的最小接口思路在标准库里的体现,并与[[接口让标准库拼装]]互为呼应。

参考来源

- 位置:《Go语言实战》第8章《标准库》(源文件:_epub-src/OEBPS/Text/part0018.xhtml) - 结论依据:原文围绕“io.Reader”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。 - 原始内容:取的解码器 // // 解码器自己会进行缓冲,而且可能会从r读比解码JSON值 // 所需的更多的数据 func NewDecoder(r io.Reader) *Decoder // Decode从自己的输入里读取下一个编码好的JSON值, // 并存入v所指向的值里 // // 要知道从JSON……