我有一個io.readwritecloser
,我想在不推進讀者的情況下窺視它,
所以我正在使用
bi := bufio.NewReader(i) bi.Peek(1)
到目前為止一切順利,但後來當我想重用原始的 io.readwritecloser
(i
) 時,它只有 eof
。
所以我的問題是如何從bufio.reader
轉換回io.readwritecloser
// bufferedreadwritecloser has all of the methods // from *bufio.reader and io.readwritecloser. type bufferedreadwritecloser struct { *bufio.reader io.readwritecloser } func (rw *bufferedreadwritecloser) read(p []byte) (int, error) { return rw.reader.read(p) }###使用方法如下:###
rw := &BufferedReadWriteCloser{bufio.NewReader(i), i} p, err := rw.Peek(1)######rw###的值滿足io.readwritecloser介面。 ### ###不要求或假設 io.readwritecloser 有 seek 方法。 ###
以上是從 `bufio.Reader` 轉換為 `io.ReadWriteCloser`的詳細內容。更多資訊請關注PHP中文網其他相關文章!