要将一个字节片转换为 io.Reader转换成Go中的 bytes.Reader对象,使用 bytes.NewReader()函数创建一个带有字节片参数的新对象。该 bytes.Reader类型实现了 io.Reader接口,可以在任何需要它作为参数的函数中使用。
package main
import (
"bytes"
"fmt"
"log"
)
func main() {
data := []byte("test byte slice")
// byte slice to bytes.Reader, which implements the io.Reader interface
reader := bytes.NewReader(data)
// read the data from reader
buf := make([]byte, len(data))
if _, err := reader.Read(buf); err != nil {
log.Fatal(err)
}
fmt.Println(string(buf))
}