1

我正在尝试找到一个接口,该接口允许我创建一个流,该流允许从文件或 中搜索(也可以使用 Reader)[]byte,但似乎在 godoc 中找不到任何内容。包中的某些类型bufio可以很好地工作,但它们似乎不支持搜索。

有没有我忽略的东西适合我正在寻找的东西?

4

1 回答 1

4

*os.File(for files) 和*bytes.Reader(for have an io.Readerfrom a )都[]byte实现了io.Seeker接口,因此有一个Seek方法。

io.Seeker is implemented by...
        *bytes.Reader
        *io.SectionReader
        io.ReadSeeker
        io.WriteSeeker
        io.ReadWriteSeeker
        mime/multipart.File
        net/http.File
        *os.File
        *strings.Reader

因此,如果您正在处理一个文件,那么很有可能*os.File,您不需要做任何额外的事情就可以找到它。只要确保如果您使用的是接口而不是您不想要的具体类型,io.Reader而是io.ReadSeeker.

于 2013-06-27T18:22:16.420 回答