?
This document uses PHP Chinese website manual Release
import "testing/iotest"
概觀
指數(shù)
包iotest實現(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處理錯誤的方式。通常,讀取最后一段數(shù)據(jù)后,Reader會從第一個Read調(diào)用返回一個錯誤(通常為EOF)。DataErrReader包裝Reader并更改其行為,以便最終的錯誤與最終數(shù)據(jù)一起返回,而不是在最終數(shù)據(jù)之后的第一次調(diào)用中返回。
func HalfReader(r io.Reader) io.Reader
HalfReader返回一個Reader,它通過讀取r中請求的字節(jié)的一半來實現(xiàn)Read。
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewReadLogger返回一個閱讀器,其行為像r一樣,除了它將每個讀取記錄(使用log.Print)為標準錯誤,打印前綴和讀取十六進制數(shù)據(jù)。
func NewWriteLogger(prefix string, w io.Writer) io.Writer
NewWriteLogger返回一個寫入器,其行為與w相似,但它會記錄(使用log.Printf)每次寫入標準錯誤,打印寫入的前綴和十六進制數(shù)據(jù)。
func OneByteReader(r io.Reader) io.Reader
OneByteReader通過從r讀取一個字節(jié)來返回一個Reader,它實現(xiàn)每個非空Read。
func TimeoutReader(r io.Reader) io.Reader
TimeoutReader在第二次讀取時返回ErrTimeout,但沒有數(shù)據(jù)。后續(xù)調(diào)用讀取成功。
func TruncateWriter(w io.Writer, n int64) io.Writer
TruncateWriter返回一個寫入w的Writer,但在n個字節(jié)后自動停止。