We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
仅限中文
在实践中,如果操作巨大的 []byte,那么经常出现的一种场景就是会把巨大的切片切分成多个 []byte,而后分别读写。
而在拆分之后,还会遇到一些读数据的场景,又需要把这个数据合并起来组成一个大的 []byte。这样多次操作就很消耗性能。
如果你知道有框架提供了类似功能,可以在这里描述,并且给出文档或者例子
如果你有设计思路或者解决方案,请在这里提供。你可以提供多个方案,并且给出自己的选择
我们引入一种全新的设计:
type MultipleBytes struct { data [][]byte idx1 int // 第几个切片 idx2 int // data[idx1] 中的下标 } func (b *MultipleBytes) Write(data []byte) (int, error) { b.data = append(b.data, data) } func (b *MultipleBytes) Read(b []byte) int { // 从 b.data[idx1][idx2] 的位置开始往后读,读够或者读完拉到 }
任何你觉得有利于解决问题的补充说明
这边在设计测试用例的时候,要小心处理各种边界条件。
上传 go env 的结果
go env
The text was updated successfully, but these errors were encountered:
也就是实现 io.Reader 和实现 io.Writer 两个接口
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
仅限中文
使用场景
在实践中,如果操作巨大的 []byte,那么经常出现的一种场景就是会把巨大的切片切分成多个 []byte,而后分别读写。
而在拆分之后,还会遇到一些读数据的场景,又需要把这个数据合并起来组成一个大的 []byte。这样多次操作就很消耗性能。
行业分析
可行方案
我们引入一种全新的设计:
其它
这边在设计测试用例的时候,要小心处理各种边界条件。
你使用的是 ekit 哪个版本?
你设置的的 Go 环境?
The text was updated successfully, but these errors were encountered: