?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
import "testing/iotest"
概觀
指數(shù)
包iotest實(shí)現(xiàn)主要用于測試的讀者和作家。
變量
func DataErrReader(r io.Reader) io.Reader
func HalfReader(r io.Reader) io.Reader
func NewReadLogger(prefix string, r io.Reader) io.Reader
func NewWriteLogger(prefix string, w io.Writer) io.Writer
func OneByteReader(r io.Reader) io.Reader
func TimeoutReader(r io.Reader) io.Reader
func TruncateWriter(w io.Writer, n int64) io.Writer
logger.go reader.go writer.go
var ErrTimeout = errors.New("timeout")
func DataErrReader(r io.Reader) io.Reader
DataErrReader改變了Reader處理錯(cuò)誤的方式。通常,讀取最后一段數(shù)據(jù)后,Reader會(huì)從第一個(gè)Read調(diào)用返回一個(gè)錯(cuò)誤(通常為EOF)。DataErrReader包裝Reader并更改其行為,以便最終的錯(cuò)誤與最終數(shù)據(jù)一起返回,而不是在最終數(shù)據(jù)之后的第一次調(diào)用中返回。
func HalfReader(r io.Reader) io.Reader
HalfReader返回一個(gè)Reader,它通過讀取r中請(qǐng)求的字節(jié)的一半來實(shí)現(xiàn)Read。
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewReadLogger返回一個(gè)閱讀器,其行為像r一樣,除了它將每個(gè)讀取記錄(使用log.Print)為標(biāo)準(zhǔn)錯(cuò)誤,打印前綴和讀取十六進(jìn)制數(shù)據(jù)。
func NewWriteLogger(prefix string, w io.Writer) io.Writer
NewWriteLogger返回一個(gè)寫入器,其行為與w相似,但它會(huì)記錄(使用log.Printf)每次寫入標(biāo)準(zhǔn)錯(cuò)誤,打印寫入的前綴和十六進(jìn)制數(shù)據(jù)。
func OneByteReader(r io.Reader) io.Reader
OneByteReader通過從r讀取一個(gè)字節(jié)來返回一個(gè)Reader,它實(shí)現(xiàn)每個(gè)非空Read。
func TimeoutReader(r io.Reader) io.Reader
TimeoutReader在第二次讀取時(shí)返回ErrTimeout,但沒有數(shù)據(jù)。后續(xù)調(diào)用讀取成功。
func TruncateWriter(w io.Writer, n int64) io.Writer
TruncateWriter返回一個(gè)寫入w的Writer,但在n個(gè)字節(jié)后自動(dòng)停止。