概述
IO是操作系统的基础概念,是对输入输出设备的抽象。Go语言的io库对这些功能进行了抽象,通过统一的接口对输入输出设备进行操作。
Reader
Reader对象是对输入设备的抽象,一个Reader可以绑定到一个输入对象,并在这个输入设备上读取数据,其声明如下:
type Reader interface {
Read(p []byte) (n int, err error)
}
除了基础的Reader类之外,io包中还有LimitReader,MultiReader和TeeReader。其中LimitReader只读取指定长度的数据;MultiReader用于聚合多个Reader,并依次进行读取;TeeReader将一个输入绑定到一个输出。具体声明如下:
func Li