英文:
What's the difference between a buffio.Scanner and a text/scanner.Scanner?
问题
scanner.Scanner 和 bufio.Scanner 之间有什么区别?
scanner.Scanner 是在 text/scanner
包中定义的。它提供了一个用于扫描文本的简单接口。它可以将输入文本分解为标记(token),并提供了一些方法来获取和处理这些标记。
bufio.Scanner 是在 bufio
包中定义的。它也提供了一个用于扫描文本的接口,但它的功能更加强大。它可以从输入源中读取文本,并将其分解为标记。与 scanner.Scanner 不同的是,bufio.Scanner 还提供了一些额外的功能,如缓冲读取和自定义分隔符。
总的来说,scanner.Scanner 是一个简单的文本扫描器,而bufio.Scanner 则提供了更多的功能和灵活性。具体使用哪个取决于你的需求和偏好。
英文:
What's the difference between scanner.Scanner from package text/scanner,
and a bufio.Scanner?
答案1
得分: 4
text/scanner
更适用于读取源代码,主要是 Go 语言的源代码:
默认情况下,Scanner 会跳过空白字符和 Go 语言注释,并将所有字面量识别为 Go 语言规范中定义的内容。它可以被定制为仅识别其中的一部分字面量,并识别不同的空白字符。
英文:
text/scanner
is more optimized for reading source code, mostly Go source:
> By default, a Scanner skips white space and Go comments and recognizes
> all literals as defined by the Go language specification. It may be
> customized to recognize only a subset of those literals and to
> recognize different white space characters.
答案2
得分: -3
文档似乎解释得很清楚。
text/scanner
Scanner实现了从io.Reader读取Unicode字符和标记的功能。
bufio
Scanner提供了一个方便的接口,用于读取数据,例如以换行符分隔的文本行文件。
英文:
The documentation seems to explain pretty clearly.
text/scanner
> A Scanner implements reading of Unicode characters and tokens from an
> io.Reader
bufio
> Scanner provides a convenient interface for reading data such as a
> file of newline-delimited lines of text.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论