实现Seek方法的Stream

时间:2013-06-27 18:16:23

标签: stream go

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

有什么我忽略的东西适合我正在寻找的东西吗?

1 个答案:

答案 0 :(得分:4)

*os.File(对于文件)和*bytes.Reader(对于来自io.Reader的{​​{1}})都实现[]byte接口,因此io.Seeker 1}}方法。

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的具体类型,请确保使用。