美文网首页
go 的IO库该如何选择

go 的IO库该如何选择

作者: wayyyy | 来源:发表于2022-12-23 22:00 被阅读0次

全文转载自:go 的IO库该如何选择

Go语言里使用io.Reader和io.Writer两个 interface 来抽象I/O,他们的定义如下。

type Reader interface {
   Read(p []byte) (n int, err error)
}

type Writer interface {
   Write(p []byte) (n int, err error)
}

io.Reader 接口代表一个可以从中读取字节流的实体,而io.Writer则代表一个可以向其写入字节流的实体。

io.Reader/Writer 常用的几种实现
  • net.Conn: 表示网络连接。
  • os.Stdin, os.Stdout, os.Stderr: 标准输入、输出和错误。
  • os.File: 网络,标准输入输出,文件的流读取。
  • strings.Reader: 字符串抽象成 io.Reader 的实现。
  • bytes.Reader: []byte抽象成 io.Reader 的实现。
  • bytes.Buffer: []byte抽象成 io.Reader 和 io.Writer 的实现。
  • bufio.Reader/Writer: 带缓冲的流读取和写入(比如按行读写)。

相关文章

网友评论

      本文标题:go 的IO库该如何选择

      本文链接:https://www.haomeiwen.com/subject/uxdiqdtx.html