io 包提供了基本的输入输出功能。以下是一些常用的 io 包的 API 及其详细说明:
1. 读取数据
io.Reader
io.Reader 是一个基本的接口,用于表示数据的读取。它只有一个方法 Read。
io.ReadFull
从 io.Reader 中精确读取 len(buf) 字节的数据。
io.Copy
将数据从一个 io.Reader 拷贝到一个 io.Writer。
2. 写入数据
io.Writer
io.Writer 是一个基本的接口,用于表示数据的写入。它只有一个方法 Write。
io.WriteString
向 io.Writer 写入字符串。
3. 缓冲读写
io.BufferedReader
使用 bufio.NewReader 创建一个带缓冲的读取器。
io.BufferedWriter
使用 bufio.NewWriter 创建一个带缓冲的写入器。
4. 管道
io.Pipe
创建一个同步的内存管道,用于连接两个 goroutine。
5. 多路复用
io.MultiReader
创建一个 io.Reader,从多个 io.Reader 顺序读取。
io.MultiWriter
创建一个 io.Writer,将数据写入多个 io.Writer。
6. 限制读取
io.LimitReader
创建一个 io.Reader,从原始 io.Reader 中读取指定字节数。
7. 计数读取
io.TeeReader
创建一个 io.Reader,从 io.Reader 读取并将读取的数据写入 io.Writer。
io 包中的基本 API,你可以方便地处理各种输入输出操作。根据具体需求,还可以结合 bufio 包和 os 包实现更复杂的读写逻辑。