package main
import (
"bytes" // 处理字节切片
"fmt"
"io" // I/O 相关的接口和函数。
)
func main() {
var buf bytes.Buffer // 这个 bytes.Buffer 类型实现了 io 读和写接口。用来作为数据的缓冲区
// 将字符串转换成字节切片,可以修改数据
data := []byte("Hello, this is a test")
// 将 data 写入到缓冲区 buf 中。
n, err := buf.Write(data)
if err != nil { // 如果 err 有数据执行 if 里面
fmt.Println("写入错误:", err)
return
}
fmt.Printf("写入了 %d 字节到缓冲区\n", n)
// 创建了一个长度为 8 的字节切片 readData
readData := make([]byte, 8)
// 读取缓冲区里面的数据
m, err := buf.Read(readData)
if err != nil && err != io.EOF { // err 有数据,就执行 if、或者文件结束就执行 if
fmt.Println("读取错误:", err)
return
}
fmt.Printf("从缓冲区读取了 %d 字节: %s\n", m, readData[:m])
}
go writer与reader接口的运用
最新推荐文章于 2024-10-30 18:24:49 发布