将 bufio.Scanner 的阅读器包装在 bufio.Reader 中有什么好处吗?

我正在使用bufio.Scanner,我不确定是否应该给它一个由bufio.Reader.

即,哪里fos.File,我应该:

scanner := bufio.NewScanner(f)

或者

scanner := bufio.NewScanner(bufio.NewReader(f))


心有法竹
浏览 192回答 1
1回答

MMMHUHU

从该scan.go源它看起来并不像你需要传递一个*bufio.Reader:它有自己的缓存,默认为4K作为bufio.Reader的缓冲区做。// NewScanner returns a new Scanner to read from r.// The split function defaults to ScanLines.func NewScanner(r io.Reader) *Scanner {    return &Scanner{        r:            r,        split:        ScanLines,        maxTokenSize: MaxScanTokenSize,        buf:          make([]byte, 4096), // Plausible starting size; needn't be large.    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go