我需要在接收到字节时将它们增量地附加到缓冲区,稍后我可以再次读取它们。像这样的东西:type TwoPassReader struct { someDataSource SomeDataReader secondPassReader io.Reader}func (r *TwoPassReader) Read(b []byte) (n int, err error) { n, err := r.someDataSource.Read(b) if err == nil { //XXX: this doesn't actually exist, right? bytesAppended, writeErr := r.secondPassReader.Write(b) } return n, err}func (r *) ReadSecondPass(b []byte) (n int, err error) { return r.secondPassReader.Read(b)}虽然对此的简单答案是使用bufio.Reader.Peek,但我有一个SomeDataReader无法修改的对象而不是 Reader。将数据放入 a[]byte并在ReadSecondPass调用时返回的最佳解决方案是什么?
- 2 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消