2
io.Pipe
の進捗状況を把握したいと思います。残念ながら、私はio.PipeReader
をラップするためにそれを使用するように見えることはできません進行状況を保存するためにio.PipeReaderをラップします
type ProgressPipeReader struct {
io.PipeReader
progress int64
}
func (pr *ProgressPipeReader) Read(data []byte) (int, error) {
n, err := pr.PipeReader.Read(data)
if err == nil {
pr.progress += int64(n)
}
return n, err
}
:私はProgressPipeReader.progress
内部バイト単位で進行状況を保存する、io.PipeReader
をラップし、次の構造体ProgressPipeReader
を思い付きました。次のスニペット
pr, pw := io.Pipe()
pr = &ProgressPipeReader{PipeReader: pr}
はエラー
cannot use pr (type *io.PipeReader) as type io.PipeReader in field value
に任意のヒントが得?