bytes.Reader
- bytes包中的结构体Reader实现的接口包括
- io.Reader
- io.ReaderAt
- io.WriterTo
- io.Seeker,
- io.ByteScanner
- io.RuneScanner
Reader结构体机器方法
- bytes.Reader可以实现从字节数组中读取数据
- bytes.Reader是只读的,并且支持查找
- bytes.Reader的零值等价于从空slice中读取的值
|
|
Reader结构体的方法
- Len方法返回Reader结构体中还未读取的部分的字节数
- Size方法返回Reader结构体中字节数组s的字节数,Size这个方法无论何时调用,返回结果都应该相同
- Reset方法,初始化Reader为最初从字节b读取的状态,重置方法
|
|
- 实现io.Reader接口的Read方法,将数据读取到字节数组byte中
|
|
- 实现io.ReaderAt接口的ReadAt方法,从offset的位置开始读取
|
|
- 实现io.ByteReader的ReadByte方法,每次读取一个byte数据
|
|
- 实现io.ByteScanner接口的UnreadByte方法,将上一个读取过的byte设置为未读取,及r.i–
|
|
- 实现io.RuneReader接口的ReadRune方法,从byte中读取一个字符
|
|
- 实现io.RuneScanner接口的UnreadRune方法,将上一个字符,设置为未读,r.i = int64(r.prevRune)即可
|
|
- 实现io.Seeker的Seek方法
- whence场景包括开头,结尾,和当前指向的index
- 返回的是要查找的索引值
|
|
- 实现io.WriterTo接口的WriteTo方法,将i之后的字节切片写入w中
|
|
初始化Reader方法
- NewReader创建一个读取b的Reader对象
|
|