在Golang中,可以使用io包实现数据流的传输。代码示例:
go
// 数据流读取器
type Reader struct{}
func (r *Reader) Read(p []byte) (n int, err error) {
// 模拟生成数据
data := []byte("Hello World!")
n = copy(p, data)
return
}
// 数据流写入器
type Writer struct{}
func (w *Writer) Write(p []byte) (n int, err error) {
// 接收数据并打印
fmt.Println(string(p))
return len(p), nil
}
func main() {
// 创建读写器
reader := new(Reader)
writer := new(Writer)
// 连接读写器
io.Copy(writer, reader)
}
我们定义了Reader和Writer,Reader会生成数据流,Writer会接受数据流并打印。通过调用io.Copy(writer, reader)我们将二者连接起来,实现了数据流的传输和处理。
这个示例极简地演示了如何在Golang中实现数据流的读取、传输和写入。