go 有好用的 io 库吗

2021-04-14 15:17:44 +08:00
 bigpigeon

go 的 io.Reader/Writer 用来传输流文件非常方便

但官方的 Reader/Writer 实现都太简单了,不够实用

有没有一些好用的第三方库

我想到几个比较实用的函数

  1. 带 Seeker 的 Reader

就是 Reader 允许 Seeker 操作,可以返回头或者尾

  1. 一读变多读

size 就是缓冲区大小,num 就是返回值返回的 reader 数

e.g NewMultiReader(io.Reader, size, num int) []io.Reader

2449 次点击
所在节点    Go 编程语言
6 条回复
SingeeKing
2021-04-14 15:46:46 +08:00
第一个需求 Go 自带的 bufio 就可以,我也封装了一个 https://github.com/ImSingee/sio/blob/master/reader.go
Mohanson
2021-04-14 17:58:14 +08:00
第二个需求正解是用 io.TeeReader()
guonaihong
2021-04-14 18:03:57 +08:00
楼上两位已经把别人要回答的都回答过了。
killerirving
2021-04-15 09:10:04 +08:00
有需求先搜索
bigpigeon
2021-04-15 10:27:14 +08:00
@SingeeKing bufio 只能缓存 Reader 内容但不能,seek 到 Reader 头的功能
bigpigeon
2021-04-15 10:27:50 +08:00
@Mohanson 这个用来做 HashSum 不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/770606

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX