Reader
strings.Reader结构体
- Reader结构体包三个参数
- s,带读取的字符串
- i,当前读取到的字符索引值
- prevRune上一个读取到的字符索引值
- Reader结构体的零值和从空字符串读取创建Reader是等价的
- Reader结构体实现了io.Reader, io.ReaderAt, io.Seeker, io.WriterTo,io.ByteScanner, and io.RuneScanner等接口
|
|
结构体的方法
- Len方法返回字符串s未读取部分的字节数
- Size方法返回字符串s的字节数
|
|
- Read方法,从字符串s中读取数据到b中,读取到字节数为len(b)和len(s[s.r:])之间的较小值
|
|
- ReadAt方法读取s[off:]之后的字节切片到字符串到b中
|
|
- ReadByte方法从s中读取i指向的字节
- UnreadByte方法将reader的索引值i–,还原读取一个字节之前的状态
|
|
- ReadRune方法从s中读取i指向的字符
- UnreadRune方法完成对ReadRune方法的重置
|
|
- Seek方法根据whence设定下一个读取的字符的索引值
|
|
- WriterTo方法将w中的数据写入到reader中
|
|
- Reset方法完成Reader的重置操作
|
|