Golang 中的 Bufio 包介绍之常用函数
发布时间:2023-10-18 13:29:22 所属栏目:资讯 来源:
导读:在 Golang 中,bufio 库提供了带有缓存 I/O 的标准库,之前的几篇文章详细讲解了 bufio.Reader、bufio.Writer 和 bufio.Scanner 这个几个结构体的使用方法、特性和使用场景,本文介绍一下 bufio 包中的函数。
Rea
Rea
在 Golang 中,bufio 库提供了带有缓存 I/O 的标准库,之前的几篇文章详细讲解了 bufio.Reader、bufio.Writer 和 bufio.Scanner 这个几个结构体的使用方法、特性和使用场景,本文介绍一下 bufio 包中的函数。 ReadWriter 结构体实现了 io.ReadWriter 接口,SplitFunc 是用来指定自定义分割规则的函数类型,通常结合 bufio.Scanner 使用。 创建对象函数 func NewReader(rd io.Reader) *Reader,创建一个带缓冲的 Reader 对象。 func NewWriter(w io.Writer) *Writer,创建一个带缓冲的 Writer 对象。 func NewReadWriter(r *Reader, w *Writer) *ReadWriter,创建一个带缓冲的 ReadWriter 对象。 func NewReaderSize(rd io.Reader, size int) *Reader,创建一个带缓冲的 Reader 对象,使用 size 指定缓冲区的最小值。 func NewWriterSize(w io.Writer, size int) *Writer,创建一个带缓冲的 Writer 对象,使用 size 指定缓冲区的最小值。 func NewScanner(r io.Reader) *Scanner,创建一个带缓冲的 Scanner 对象。 SplitFunc 类型函数 以下几个常见的函数都是 SplitFunc 使用的类型,通常与 bufio.NewScanner 一起使用。 func ScanLines(data []byte, atEOF bool) (advance int, token []byte, err error),用于逐行读取输入流中的数据。 func ScanBytes(data []byte, atEOF bool) (advance int, token []byte, err error),用于逐个字节读取输入流中的数据。 func ScanRunes(data []byte, atEOF bool) (advance int, token []byte, err error),用于逐个 unicode 编码读取输入流中的数据。 func ScanWords(data []byte, atEOF bool) (advance int, token []byte, err error),用于逐个单词(空格分割)读取输入流中的数据。这个过程称为逐个单词读取。如果数据量大,可以采用更高级的方法。 (编辑:马鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐