代码拉取完成,页面将自动刷新
同步操作将从 ttpc2008/BaiduPCS-Go 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package rio
import (
"io"
)
// MultiReaderLen 合并多个ReaderLen
func MultiReaderLen(readerLens ...ReaderLen) ReaderLen {
// TODO: 和copy对比
r := make([]io.Reader, 0, len(readerLens))
for k := range readerLens {
if readerLens[k] == nil {
continue
}
r = append(r, readerLens[k])
}
return &multiReaderLen{
mrls: readerLens,
multiReader: io.MultiReader(r...),
}
}
type multiReaderLen struct {
mrls []ReaderLen
multiReader io.Reader
}
func (mrl *multiReaderLen) Read(p []byte) (n int, err error) {
return mrl.multiReader.Read(p)
}
func (mrl *multiReaderLen) Len() int {
var i int
for k := range mrl.mrls {
i += mrl.mrls[k].Len()
}
return i
}
// MultiReaderLen64 合并多个ReaderLen64
func MultiReaderLen64(readerLen64s ...ReaderLen64) ReaderLen64 {
// TODO: 和copy对比
r := make([]io.Reader, 0, len(readerLen64s))
for k := range readerLen64s {
if readerLen64s[k] == nil {
continue
}
r = append(r, readerLen64s[k])
}
return &multiReaderLen64{
mrl64s: readerLen64s,
multiReader: io.MultiReader(r...),
}
}
type multiReaderLen64 struct {
mrl64s []ReaderLen64
multiReader io.Reader
}
func (mrl64 *multiReaderLen64) Read(p []byte) (n int, err error) {
return mrl64.multiReader.Read(p)
}
func (mrl64 *multiReaderLen64) Len() int64 {
var l int64
for k := range mrl64.mrl64s {
l += mrl64.mrl64s[k].Len()
}
return l
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。