Reader
| 方法 | 含义 | 说明 |
|---|---|---|
| Buffered | 返回从当前缓冲区内可以读取的字节数量 | |
| Discard | 跳过接下来的n字节 |
|
| Peek | 查看接下来的n字节 |
不移动读指针 |
| Read | 从bufio.Reader中读取内容到字节切片 |
|
| ReadByte | 从bufio.Reader中读取一个字节 |
|
| ReadBytes | 从bufio.Reader中读取数据,直到遇到指定的分隔符delim |
包含分隔符 |
| ReadLine | 从bufio.Reader中读取一行数据 |
不包含换行符,建议使用Reader.ReadBytes('\n')、Reader.ReadString('\n')或者Scanner |
| ReadRune | 从bufio.Reader中读取一个rune |
|
| ReadSlice | 从bufio.Reader中读取数据,直到遇到指定的分隔符delim |
包含分隔符,建议使用Reader.ReadBytes或ReadString |
| ReadString | 从bufio.Reader中读取数据,直到遇到指定的分隔符delim |
包含分隔符 |
| Reset | 重置bufio.Reader |
|
| Size | 返回底层缓冲区的大小 | |
| UnreadByte | 回退最后读取的一个字节 | |
| UnreadRune | 回退最后读取的一个rune |
|
| WriteTo | 将数据从bufio.Reader写入到io.Writer |
Writer
| 方法 | 含义 | 说明 |
|---|---|---|
| Available | 返回当前缓冲区中可以写入的字节数量 | |
| AvailableBuffer | 返回一个空的缓冲区,容量是Available返回的值 |
|
| Buffered | 返回当前缓冲区中已经写入的字节数量 | |
| Flush | 将缓冲区中的数据写入到io.Writer |
|
| ReadFrom | 从io.Reader读取数据到bufio.Writer |
|
| Reset | 重置bufio.Writer |
|
| Size | 返回底层缓冲区的大小 | |
| Write | 将数据写入bufio.Writer |
|
| WriteByte | 将一个字节写入bufio.Writer |
|
| WriteRune | 将一个rune写入bufio.Writer |
|
| WriteString | 将一个字符串写入bufio.Writer |
Scanner
| 方法 | 含义 | 说明 |
|---|---|---|
| Buffer | 设置在扫描时要使用的初始缓冲区,及在扫描过程中可能分配的最大缓冲区大小 | |
| Bytes | 返回由最近一次调用Scanner.Scan生成的令牌 |
不会进行内存分配 |
| Err | 返回扫描过程中遇到的第一个非EOF错误 |
|
| Scan | 使扫描器前进到下一个令牌 | |
| Split | 设置扫描器的分割函数 | 在扫描已经开始之后调用会触发panic |
| Text | 返回由最近一次调用Scanner.Scan生成的令牌 |
进行内存分配 |
包函数
| 方法 | 含义 | 说明 |
|---|---|---|
| NewReader | 从io.Reader创建一个带缓冲区的bufio.Reader |
|
| NewReaderSize | 从io.Reader创建一个带缓冲区的bufio.Reader,并指定缓冲区的大小 |
|
| NewWriter | 从io.Writer创建一个带缓冲区的bufio.Writer |
|
| NewWriterSize | 从io.Writer创建一个带缓冲区的bufio.Writer,并指定缓冲区的大小 |
|
| NewReadWriter | 将io.Reader和io.Writer包装成一个带缓冲区的bufio.ReadWriter |
|
| ScanBytes | bufio.Scanner的一种分割函数,将输入数据按字节进行分割 |
|
| ScanLines | bufio.Scanner的一种分割函数,将输入文本按行进行分割 |
会移除行尾的换行符 |
| ScanRunes | bufio.Scanner的一种分割函数,将输入数据按rune进行分割 |
|
| ScanWords | bufio.Scanner的一种分割函数,将输入文本按以空格分隔的单词进行分割 |
会移除单词之间的空格 |