package io

Import Path
	io (on go.dev)

Dependency Relation
	imports 2 packages, and imported by 136 packages

Involved Source Files Package io provides basic interfaces to I/O primitives. Its primary job is to wrap existing implementations of such primitives, such as those in package os, into shared public interfaces that abstract the functionality, plus some other related primitives. Because these interfaces and primitives wrap lower-level operations with various implementations, unless otherwise informed clients should not assume they are safe for parallel execution. multi.go pipe.go
Code Examples package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") if _, err := io.Copy(os.Stdout, r); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" "strings" ) func main() { r1 := strings.NewReader("first reader\n") r2 := strings.NewReader("second reader\n") buf := make([]byte, 8) // buf is used here... if _, err := io.CopyBuffer(os.Stdout, r1, buf); err != nil { log.Fatal(err) } // ... reused here also. No need to allocate an extra buffer. if _, err := io.CopyBuffer(os.Stdout, r2, buf); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read") if _, err := io.CopyN(os.Stdout, r, 4); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") lr := io.LimitReader(r, 4) if _, err := io.Copy(os.Stdout, lr); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" "strings" ) func main() { r1 := strings.NewReader("first reader ") r2 := strings.NewReader("second reader ") r3 := strings.NewReader("third reader\n") r := io.MultiReader(r1, r2, r3) if _, err := io.Copy(os.Stdout, r); err != nil { log.Fatal(err) } } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") var buf1, buf2 strings.Builder w := io.MultiWriter(&buf1, &buf2) if _, err := io.Copy(w, r); err != nil { log.Fatal(err) } fmt.Print(buf1.String()) fmt.Print(buf2.String()) } package main import ( "fmt" "io" "log" "os" ) func main() { r, w := io.Pipe() go func() { fmt.Fprint(w, "some io.Reader stream to be read\n") w.Close() }() if _, err := io.Copy(os.Stdout, r); err != nil { log.Fatal(err) } } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("Go is a general-purpose language designed with systems programming in mind.") b, err := io.ReadAll(r) if err != nil { log.Fatal(err) } fmt.Printf("%s", b) } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") buf := make([]byte, 14) if _, err := io.ReadAtLeast(r, buf, 4); err != nil { log.Fatal(err) } fmt.Printf("%s\n", buf) // buffer smaller than minimal read size. shortBuf := make([]byte, 3) if _, err := io.ReadAtLeast(r, shortBuf, 4); err != nil { fmt.Println("error:", err) } // minimal read size bigger than io.Reader stream longBuf := make([]byte, 64) if _, err := io.ReadAtLeast(r, longBuf, 64); err != nil { fmt.Println("error:", err) } } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") buf := make([]byte, 4) if _, err := io.ReadFull(r, buf); err != nil { log.Fatal(err) } fmt.Printf("%s\n", buf) // minimal read size bigger than io.Reader stream longBuf := make([]byte, 64) if _, err := io.ReadFull(r, longBuf); err != nil { fmt.Println("error:", err) } } package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") s := io.NewSectionReader(r, 5, 17) if _, err := io.Copy(os.Stdout, s); err != nil { log.Fatal(err) } } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") s := io.NewSectionReader(r, 5, 17) buf := make([]byte, 9) if _, err := s.Read(buf); err != nil { log.Fatal(err) } fmt.Printf("%s\n", buf) } package main import ( "fmt" "io" "log" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") s := io.NewSectionReader(r, 5, 17) buf := make([]byte, 6) if _, err := s.ReadAt(buf, 10); err != nil { log.Fatal(err) } fmt.Printf("%s\n", buf) } package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") s := io.NewSectionReader(r, 5, 17) if _, err := s.Seek(10, io.SeekStart); err != nil { log.Fatal(err) } if _, err := io.Copy(os.Stdout, s); err != nil { log.Fatal(err) } } package main import ( "fmt" "io" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") s := io.NewSectionReader(r, 5, 17) fmt.Println(s.Size()) } package main import ( "io" "log" "os" "strings" ) func main() { r := strings.NewReader("some io.Reader stream to be read\n") r.Seek(5, io.SeekStart) // move to the 5th char from the start if _, err := io.Copy(os.Stdout, r); err != nil { log.Fatal(err) } r.Seek(-5, io.SeekEnd) if _, err := io.Copy(os.Stdout, r); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" "strings" ) func main() { var r io.Reader = strings.NewReader("some io.Reader stream to be read\n") r = io.TeeReader(r, os.Stdout) // Everything read from r will be copied to stdout. if _, err := io.ReadAll(r); err != nil { log.Fatal(err) } } package main import ( "io" "log" "os" ) func main() { if _, err := io.WriteString(os.Stdout, "Hello World"); err != nil { log.Fatal(err) } }
Package-Level Type Names (total 27)
/* sort by: | */
ByteReader is the interface that wraps the ReadByte method. ReadByte reads and returns the next byte from the input or any error encountered. If ReadByte returns an error, no input byte was consumed, and the returned byte value is undefined. ReadByte provides an efficient interface for byte-at-time processing. A [Reader] that does not implement ByteReader can be wrapped using bufio.NewReader to add this method. ( ByteReader) ReadByte() (byte, error) ByteScanner (interface) *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader compress/flate.Reader (interface) image/jpeg.Reader (interface) *internal/zstd.Reader *strings.Reader func encoding/binary.ReadUvarint(r ByteReader) (uint64, error) func encoding/binary.ReadVarint(r ByteReader) (int64, error)
ByteScanner is the interface that adds the UnreadByte method to the basic ReadByte method. UnreadByte causes the next call to ReadByte to return the last byte read. If the last operation was not a successful call to ReadByte, UnreadByte may return an error, unread the last byte read (or the byte prior to the last-unread byte), or (in implementations that support the [Seeker] interface) seek to one byte before the current offset. ( ByteScanner) ReadByte() (byte, error) ( ByteScanner) UnreadByte() error *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader *strings.Reader ByteScanner : ByteReader
ByteWriter is the interface that wraps the WriteByte method. ( ByteWriter) WriteByte(c byte) error bufio.ReadWriter *bufio.Writer *bytes.Buffer *hash/maphash.Hash *log/slog/internal/buffer.Buffer net/http/internal.FlushAfterChunkWriter *strings.Builder
Closer is the interface that wraps the basic Close method. The behavior of Close after the first call is undefined. Specific implementations may document their own behavior. ( Closer) Close() error *PipeReader *PipeWriter ReadCloser (interface) ReadSeekCloser (interface) ReadWriteCloser (interface) WriteCloser (interface) io/fs.File (interface) io/fs.ReadDirFile (interface) *archive/tar.Writer *archive/zip.ReadCloser *archive/zip.Writer *compress/flate.Writer *compress/gzip.Reader *compress/gzip.Writer *compress/lzw.Reader *compress/lzw.Writer *compress/zlib.Writer crypto/cipher.StreamWriter *crypto/tls.Conn *crypto/tls.QUICConn *database/sql.Conn *database/sql.DB *database/sql.Rows *database/sql.Stmt database/sql/driver.Conn (interface) database/sql/driver.Rows (interface) database/sql/driver.RowsColumnTypeDatabaseTypeName (interface) database/sql/driver.RowsColumnTypeLength (interface) database/sql/driver.RowsColumnTypeNullable (interface) database/sql/driver.RowsColumnTypePrecisionScale (interface) database/sql/driver.RowsColumnTypeScanType (interface) database/sql/driver.RowsNextResultSet (interface) database/sql/driver.Stmt (interface) *debug/elf.File debug/macho.FatArch *debug/macho.FatFile *debug/macho.File *debug/pe.File *debug/plan9obj.File *encoding/xml.Encoder *internal/poll.FD *internal/xcoff.Archive *internal/xcoff.File *log/syslog.Writer mime/multipart.File (interface) *mime/multipart.Part *mime/multipart.Writer *mime/quotedprintable.Writer net.Conn (interface) *net.IPConn net.Listener (interface) net.PacketConn (interface) *net.TCPConn *net.TCPListener *net.UDPConn *net.UnixConn *net.UnixListener net/http.File (interface) *net/http.Server *net/http/httputil.ClientConn *net/http/httputil.ServerConn *net/rpc.Client net/rpc.ClientCodec (interface) net/rpc.ServerCodec (interface) *net/smtp.Client *net/textproto.Conn *os.File *os.Root *vendor/golang.org/x/net/http2/hpack.Decoder *vendor/golang.org/x/text/transform.Writer
A LimitedReader reads from R but limits the amount of data returned to just N bytes. Each call to Read updates N to reflect the new amount remaining. Read returns EOF when N <= 0 or when the underlying R returns EOF. // max bytes remaining // underlying reader (*LimitedReader) Read(p []byte) (n int, err error) *LimitedReader : Reader
An OffsetWriter maps writes at offset base to offset base+off in the underlying writer. (*OffsetWriter) Seek(offset int64, whence int) (int64, error) (*OffsetWriter) Write(p []byte) (n int, err error) (*OffsetWriter) WriteAt(p []byte, off int64) (n int, err error) *OffsetWriter : Seeker *OffsetWriter : Writer *OffsetWriter : WriterAt *OffsetWriter : WriteSeeker *OffsetWriter : internal/bisect.Writer func NewOffsetWriter(w WriterAt, off int64) *OffsetWriter
A PipeReader is the read half of a pipe. Close closes the reader; subsequent writes to the write half of the pipe will return the error [ErrClosedPipe]. CloseWithError closes the reader; subsequent writes to the write half of the pipe will return the error err. CloseWithError never overwrites the previous error if it exists and always returns nil. Read implements the standard Read interface: it reads data from the pipe, blocking until a writer arrives or the write end is closed. If the write end is closed with an error, that error is returned as err; otherwise err is EOF. *PipeReader : Closer *PipeReader : ReadCloser *PipeReader : Reader func Pipe() (*PipeReader, *PipeWriter)
A PipeWriter is the write half of a pipe. Close closes the writer; subsequent reads from the read half of the pipe will return no bytes and EOF. CloseWithError closes the writer; subsequent reads from the read half of the pipe will return no bytes and the error err, or EOF if err is nil. CloseWithError never overwrites the previous error if it exists and always returns nil. Write implements the standard Write interface: it writes data to the pipe, blocking until one or more readers have consumed all the data or the read end is closed. If the read end is closed with an error, that err is returned as err; otherwise err is [ErrClosedPipe]. *PipeWriter : Closer *PipeWriter : WriteCloser *PipeWriter : Writer *PipeWriter : internal/bisect.Writer func Pipe() (*PipeReader, *PipeWriter)
ReadCloser is the interface that groups the basic Read and Close methods. ( ReadCloser) Close() error ( ReadCloser) Read(p []byte) (n int, err error) *PipeReader ReadSeekCloser (interface) ReadWriteCloser (interface) io/fs.File (interface) io/fs.ReadDirFile (interface) *compress/gzip.Reader *compress/lzw.Reader *crypto/tls.Conn *internal/poll.FD mime/multipart.File (interface) *mime/multipart.Part net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn net/http.File (interface) *os.File ReadCloser : Closer ReadCloser : Reader func NopCloser(r Reader) ReadCloser func io/ioutil.NopCloser(r Reader) ReadCloser func archive/zip.(*File).Open() (ReadCloser, error) func compress/flate.NewReader(r Reader) ReadCloser func compress/flate.NewReaderDict(r Reader, dict []byte) ReadCloser func compress/lzw.NewReader(r Reader, order lzw.Order, litWidth int) ReadCloser func compress/zlib.NewReader(r Reader) (ReadCloser, error) func compress/zlib.NewReaderDict(r Reader, dict []byte) (ReadCloser, error) func net/http.MaxBytesReader(w http.ResponseWriter, r ReadCloser, n int64) ReadCloser func os/exec.(*Cmd).StderrPipe() (ReadCloser, error) func os/exec.(*Cmd).StdoutPipe() (ReadCloser, error) func net/http.MaxBytesReader(w http.ResponseWriter, r ReadCloser, n int64) ReadCloser
Reader is the interface that wraps the basic Read method. Read reads up to len(p) bytes into p. It returns the number of bytes read (0 <= n <= len(p)) and any error encountered. Even if Read returns n < len(p), it may use all of p as scratch space during the call. If some data is available but not len(p) bytes, Read conventionally returns what is available instead of waiting for more. When Read encounters an error or end-of-file condition after successfully reading n > 0 bytes, it returns the number of bytes read. It may return the (non-nil) error from the same call or return the error (and n == 0) from a subsequent call. An instance of this general case is that a Reader returning a non-zero number of bytes at the end of the input stream may return either err == EOF or err == nil. The next Read should return 0, EOF. Callers should always process the n > 0 bytes returned before considering the error err. Doing so correctly handles I/O errors that happen after reading some bytes and also both of the allowed EOF behaviors. If len(p) == 0, Read should always return n == 0. It may return a non-nil error if some error condition is known, such as EOF. Implementations of Read are discouraged from returning a zero byte count with a nil error, except when len(p) == 0. Callers should treat a return of 0 and nil as indicating that nothing happened; in particular it does not indicate EOF. Implementations must not retain p. ( Reader) Read(p []byte) (n int, err error) *LimitedReader *PipeReader ReadCloser (interface) ReadSeekCloser (interface) ReadSeeker (interface) ReadWriteCloser (interface) ReadWriter (interface) ReadWriteSeeker (interface) *SectionReader io/fs.File (interface) io/fs.ReadDirFile (interface) *archive/tar.Reader *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader compress/flate.Reader (interface) *compress/gzip.Reader *compress/lzw.Reader crypto/cipher.StreamReader *crypto/internal/fips140/sha3.SHAKE *crypto/sha3.SHAKE *crypto/tls.Conn fmt.ScanState (interface) image/jpeg.Reader (interface) *internal/coverage/slicereader.Reader *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD *internal/zstd.Reader *math/rand.Rand *math/rand/v2.ChaCha8 mime/multipart.File (interface) *mime/multipart.Part *mime/quotedprintable.Reader *net.Buffers net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn net/http.File (interface) *os.File *strings.Reader *vendor/golang.org/x/text/transform.Reader func LimitReader(r Reader, n int64) Reader func MultiReader(readers ...Reader) Reader func TeeReader(r Reader, w Writer) Reader func archive/zip.(*File).OpenRaw() (Reader, error) func compress/bzip2.NewReader(r Reader) Reader func encoding/ascii85.NewDecoder(r Reader) Reader func encoding/base32.NewDecoder(enc *base32.Encoding, r Reader) Reader func encoding/base64.NewDecoder(enc *base64.Encoding, r Reader) Reader func encoding/hex.NewDecoder(r Reader) Reader func encoding/json.(*Decoder).Buffered() Reader func internal/trace/testtrace.ParseFile(testPath string) (Reader, *testtrace.Expectation, error) func net/http/httputil.NewChunkedReader(r Reader) Reader func net/http/internal.NewChunkedReader(r Reader) Reader func net/textproto.(*Reader).DotReader() Reader func testing/iotest.DataErrReader(r Reader) Reader func testing/iotest.ErrReader(err error) Reader func testing/iotest.HalfReader(r Reader) Reader func testing/iotest.NewReadLogger(prefix string, r Reader) Reader func testing/iotest.OneByteReader(r Reader) Reader func testing/iotest.TimeoutReader(r Reader) Reader func vendor/golang.org/x/text/unicode/norm.Form.Reader(r Reader) Reader func Copy(dst Writer, src Reader) (written int64, err error) func CopyBuffer(dst Writer, src Reader, buf []byte) (written int64, err error) func CopyN(dst Writer, src Reader, n int64) (written int64, err error) func LimitReader(r Reader, n int64) Reader func MultiReader(readers ...Reader) Reader func NopCloser(r Reader) ReadCloser func ReadAll(r Reader) ([]byte, error) func ReadAtLeast(r Reader, buf []byte, min int) (n int, err error) func ReadFull(r Reader, buf []byte) (n int, err error) func TeeReader(r Reader, w Writer) Reader func ReaderFrom.ReadFrom(r Reader) (n int64, err error) func io/ioutil.NopCloser(r Reader) ReadCloser func io/ioutil.ReadAll(r Reader) ([]byte, error) func archive/tar.NewReader(r Reader) *tar.Reader func bufio.NewReader(rd Reader) *bufio.Reader func bufio.NewReaderSize(rd Reader, size int) *bufio.Reader func bufio.NewScanner(r Reader) *bufio.Scanner func bufio.(*Reader).Reset(r Reader) func bufio.(*Writer).ReadFrom(r Reader) (n int64, err error) func bytes.(*Buffer).ReadFrom(r Reader) (n int64, err error) func compress/bzip2.NewReader(r Reader) Reader func compress/flate.NewReader(r Reader) ReadCloser func compress/flate.NewReaderDict(r Reader, dict []byte) ReadCloser func compress/flate.Resetter.Reset(r Reader, dict []byte) error func compress/gzip.NewReader(r Reader) (*gzip.Reader, error) func compress/gzip.(*Reader).Reset(r Reader) error func compress/lzw.NewReader(r Reader, order lzw.Order, litWidth int) ReadCloser func compress/lzw.(*Reader).Reset(src Reader, order lzw.Order, litWidth int) func compress/zlib.NewReader(r Reader) (ReadCloser, error) func compress/zlib.NewReaderDict(r Reader, dict []byte) (ReadCloser, error) func compress/zlib.Resetter.Reset(r Reader, dict []byte) error func crypto.Decrypter.Decrypt(rand Reader, msg []byte, opts crypto.DecrypterOpts) (plaintext []byte, err error) func crypto.Signer.Sign(rand Reader, digest []byte, opts crypto.SignerOpts) (signature []byte, err error) func crypto/dsa.GenerateKey(priv *dsa.PrivateKey, rand Reader) error func crypto/dsa.GenerateParameters(params *dsa.Parameters, rand Reader, sizes dsa.ParameterSizes) error func crypto/dsa.Sign(rand Reader, priv *dsa.PrivateKey, hash []byte) (r, s *big.Int, err error) func crypto/ecdh.Curve.GenerateKey(rand Reader) (*ecdh.PrivateKey, error) func crypto/ecdsa.GenerateKey(c elliptic.Curve, rand Reader) (*ecdsa.PrivateKey, error) func crypto/ecdsa.Sign(rand Reader, priv *ecdsa.PrivateKey, hash []byte) (r, s *big.Int, err error) func crypto/ecdsa.SignASN1(rand Reader, priv *ecdsa.PrivateKey, hash []byte) ([]byte, error) func crypto/ecdsa.(*PrivateKey).Sign(rand Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) func crypto/ed25519.GenerateKey(rand Reader) (ed25519.PublicKey, ed25519.PrivateKey, error) func crypto/ed25519.PrivateKey.Sign(rand Reader, message []byte, opts crypto.SignerOpts) (signature []byte, err error) func crypto/elliptic.GenerateKey(curve elliptic.Curve, rand Reader) (priv []byte, x, y *big.Int, err error) func crypto/internal/fips140/drbg.ReadWithReader(r Reader, b []byte) error func crypto/internal/fips140/drbg.ReadWithReaderDeterministic(r Reader, b []byte) error func crypto/internal/fips140/ecdh.GenerateKey[P](c *ecdh.Curve[P], rand Reader) (*ecdh.PrivateKey, error) func crypto/internal/fips140/ecdsa.GenerateKey[P](c *ecdsa.Curve[P], rand Reader) (*ecdsa.PrivateKey, error) func crypto/internal/fips140/ecdsa.Sign[P, H](c *ecdsa.Curve[P], h func() H, priv *ecdsa.PrivateKey, rand Reader, hash []byte) (*ecdsa.Signature, error) func crypto/internal/fips140/rsa.EncryptOAEP(hash, mgfHash fips140.Hash, random Reader, pub *rsa.PublicKey, msg []byte, label []byte) ([]byte, error) func crypto/internal/fips140/rsa.GenerateKey(rand Reader, bits int) (*rsa.PrivateKey, error) func crypto/internal/fips140/rsa.SignPSS(rand Reader, priv *rsa.PrivateKey, hash fips140.Hash, hashed []byte, saltLength int) ([]byte, error) func crypto/internal/fips140only.ApprovedRandomReader(r Reader) bool func crypto/internal/randutil.MaybeReadByte(r Reader) func crypto/rand.Int(rand Reader, max *big.Int) (n *big.Int, err error) func crypto/rand.Prime(rand Reader, bits int) (*big.Int, error) func crypto/rsa.DecryptOAEP(hash hash.Hash, random Reader, priv *rsa.PrivateKey, ciphertext []byte, label []byte) ([]byte, error) func crypto/rsa.DecryptPKCS1v15(random Reader, priv *rsa.PrivateKey, ciphertext []byte) ([]byte, error) func crypto/rsa.DecryptPKCS1v15SessionKey(random Reader, priv *rsa.PrivateKey, ciphertext []byte, key []byte) error func crypto/rsa.EncryptOAEP(hash hash.Hash, random Reader, pub *rsa.PublicKey, msg []byte, label []byte) ([]byte, error) func crypto/rsa.EncryptPKCS1v15(random Reader, pub *rsa.PublicKey, msg []byte) ([]byte, error) func crypto/rsa.GenerateKey(random Reader, bits int) (*rsa.PrivateKey, error) func crypto/rsa.GenerateMultiPrimeKey(random Reader, nprimes int, bits int) (*rsa.PrivateKey, error) func crypto/rsa.SignPKCS1v15(random Reader, priv *rsa.PrivateKey, hash crypto.Hash, hashed []byte) ([]byte, error) func crypto/rsa.SignPSS(rand Reader, priv *rsa.PrivateKey, hash crypto.Hash, digest []byte, opts *rsa.PSSOptions) ([]byte, error) func crypto/rsa.(*PrivateKey).Decrypt(rand Reader, ciphertext []byte, opts crypto.DecrypterOpts) (plaintext []byte, err error) func crypto/rsa.(*PrivateKey).Sign(rand Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) func crypto/x509.CreateCertificate(rand Reader, template, parent *x509.Certificate, pub, priv any) ([]byte, error) func crypto/x509.CreateCertificateRequest(rand Reader, template *x509.CertificateRequest, priv any) (csr []byte, err error) func crypto/x509.CreateRevocationList(rand Reader, template *x509.RevocationList, issuer *x509.Certificate, priv crypto.Signer) ([]byte, error) func crypto/x509.EncryptPEMBlock(rand Reader, blockType string, data, password []byte, alg x509.PEMCipher) (*pem.Block, error) func crypto/x509.(*Certificate).CreateCRL(rand Reader, priv any, revokedCerts []pkix.RevokedCertificate, now, expiry time.Time) (crlBytes []byte, err error) func encoding/ascii85.NewDecoder(r Reader) Reader func encoding/base32.NewDecoder(enc *base32.Encoding, r Reader) Reader func encoding/base64.NewDecoder(enc *base64.Encoding, r Reader) Reader func encoding/binary.Read(r Reader, order binary.ByteOrder, data any) error func encoding/csv.NewReader(r Reader) *csv.Reader func encoding/gob.NewDecoder(r Reader) *gob.Decoder func encoding/hex.NewDecoder(r Reader) Reader func encoding/json.NewDecoder(r Reader) *json.Decoder func encoding/xml.NewDecoder(r Reader) *xml.Decoder func fmt.Fscan(r Reader, a ...any) (n int, err error) func fmt.Fscanf(r Reader, format string, a ...any) (n int, err error) func fmt.Fscanln(r Reader, a ...any) (n int, err error) func image.Decode(r Reader) (image.Image, string, error) func image.DecodeConfig(r Reader) (image.Config, string, error) func image/gif.Decode(r Reader) (image.Image, error) func image/gif.DecodeAll(r Reader) (*gif.GIF, error) func image/gif.DecodeConfig(r Reader) (image.Config, error) func image/jpeg.Decode(r Reader) (image.Image, error) func image/jpeg.DecodeConfig(r Reader) (image.Config, error) func image/png.Decode(r Reader) (image.Image, error) func image/png.DecodeConfig(r Reader) (image.Config, error) func index/suffixarray.(*Index).Read(r Reader) error func internal/profile.Parse(r Reader) (*profile.Profile, error) func internal/saferio.ReadData(r Reader, n uint64) ([]byte, error) func internal/trace.NewReader(r Reader) (*trace.Reader, error) func internal/trace/internal/oldtrace.Parse(r Reader, vers version.Version) (oldtrace.Trace, error) func internal/trace/raw.NewReader(r Reader) (*raw.Reader, error) func internal/trace/raw.NewTextReader(r Reader) (*raw.TextReader, error) func internal/trace/version.ReadHeader(r Reader) (version.Version, error) func internal/zstd.NewReader(input Reader) *zstd.Reader func internal/zstd.(*Reader).Reset(input Reader) func mime/multipart.NewReader(r Reader, boundary string) *multipart.Reader func mime/quotedprintable.NewReader(r Reader) *quotedprintable.Reader func net.(*TCPConn).ReadFrom(r Reader) (int64, error) func net/http.NewRequest(method, url string, body Reader) (*http.Request, error) func net/http.NewRequestWithContext(ctx context.Context, method, url string, body Reader) (*http.Request, error) func net/http.Post(url, contentType string, body Reader) (resp *http.Response, err error) func net/http.(*Client).Post(url, contentType string, body Reader) (resp *http.Response, err error) func net/http/httptest.NewRequest(method, target string, body Reader) *http.Request func net/http/httptest.NewRequestWithContext(ctx context.Context, method, target string, body Reader) *http.Request func net/http/httputil.NewChunkedReader(r Reader) Reader func net/http/internal.NewChunkedReader(r Reader) Reader func net/mail.ReadMessage(r Reader) (msg *mail.Message, err error) func os.(*File).ReadFrom(r Reader) (n int64, err error) func testing/iotest.DataErrReader(r Reader) Reader func testing/iotest.HalfReader(r Reader) Reader func testing/iotest.NewReadLogger(prefix string, r Reader) Reader func testing/iotest.OneByteReader(r Reader) Reader func testing/iotest.TestReader(r Reader, content []byte) error func testing/iotest.TimeoutReader(r Reader) Reader func text/scanner.(*Scanner).Init(src Reader) *scanner.Scanner func vendor/golang.org/x/text/transform.NewReader(r Reader, t transform.Transformer) *transform.Reader func vendor/golang.org/x/text/unicode/norm.Form.Reader(r Reader) Reader var crypto/rand.Reader
ReaderAt is the interface that wraps the basic ReadAt method. ReadAt reads len(p) bytes into p starting at offset off in the underlying input source. It returns the number of bytes read (0 <= n <= len(p)) and any error encountered. When ReadAt returns n < len(p), it returns a non-nil error explaining why more bytes were not returned. In this respect, ReadAt is stricter than Read. Even if ReadAt returns n < len(p), it may use all of p as scratch space during the call. If some data is available but not len(p) bytes, ReadAt blocks until either all the data is available or an error occurs. In this respect ReadAt is different from Read. If the n = len(p) bytes returned by ReadAt are at the end of the input source, ReadAt may return either err == EOF or err == nil. If ReadAt is reading from an input source with a seek offset, ReadAt should not affect nor be affected by the underlying seek offset. Clients of ReadAt can execute parallel ReadAt calls on the same input source. Implementations must not retain p. ( ReaderAt) ReadAt(p []byte, off int64) (n int, err error) *SectionReader *bytes.Reader debug/elf.Prog debug/elf.Section debug/macho.Section debug/macho.Segment debug/pe.Section debug/plan9obj.Section internal/xcoff.Section mime/multipart.File (interface) *os.File *strings.Reader func (*SectionReader).Outer() (r ReaderAt, off int64, n int64) func NewSectionReader(r ReaderAt, off int64, n int64) *SectionReader func archive/zip.NewReader(r ReaderAt, size int64) (*zip.Reader, error) func debug/buildinfo.Read(r ReaderAt) (*buildinfo.BuildInfo, error) func debug/elf.NewFile(r ReaderAt) (*elf.File, error) func debug/macho.NewFatFile(r ReaderAt) (*macho.FatFile, error) func debug/macho.NewFile(r ReaderAt) (*macho.File, error) func debug/pe.NewFile(r ReaderAt) (*pe.File, error) func debug/plan9obj.NewFile(r ReaderAt) (*plan9obj.File, error) func internal/saferio.ReadDataAt(r ReaderAt, n uint64, off int64) ([]byte, error) func internal/xcoff.NewArchive(r ReaderAt) (*xcoff.Archive, error) func internal/xcoff.NewFile(r ReaderAt) (*xcoff.File, error)
ReaderFrom is the interface that wraps the ReadFrom method. ReadFrom reads data from r until EOF or error. The return value n is the number of bytes read. Any error except EOF encountered during the read is also returned. The [Copy] function uses [ReaderFrom] if available. ( ReaderFrom) ReadFrom(r Reader) (n int64, err error) bufio.ReadWriter *bufio.Writer *bytes.Buffer *net.TCPConn net/http/internal.FlushAfterChunkWriter *os.File
ReadSeekCloser is the interface that groups the basic Read, Seek and Close methods. ( ReadSeekCloser) Close() error ( ReadSeekCloser) Read(p []byte) (n int, err error) ( ReadSeekCloser) Seek(offset int64, whence int) (int64, error) *internal/poll.FD mime/multipart.File (interface) net/http.File (interface) *os.File ReadSeekCloser : Closer ReadSeekCloser : ReadCloser ReadSeekCloser : Reader ReadSeekCloser : ReadSeeker ReadSeekCloser : Seeker
ReadSeeker is the interface that groups the basic Read and Seek methods. ( ReadSeeker) Read(p []byte) (n int, err error) ( ReadSeeker) Seek(offset int64, whence int) (int64, error) ReadSeekCloser (interface) ReadWriteSeeker (interface) *SectionReader *bytes.Reader *internal/coverage/slicereader.Reader *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD mime/multipart.File (interface) net/http.File (interface) *os.File *strings.Reader ReadSeeker : Reader ReadSeeker : Seeker func debug/elf.(*Prog).Open() ReadSeeker func debug/elf.(*Section).Open() ReadSeeker func debug/macho.(*Section).Open() ReadSeeker func debug/macho.(*Segment).Open() ReadSeeker func debug/pe.(*Section).Open() ReadSeeker func debug/plan9obj.(*Section).Open() ReadSeeker func internal/coverage/decodecounter.NewCounterDataReader(fn string, rs ReadSeeker) (*decodecounter.CounterDataReader, error) func net/http.ServeContent(w http.ResponseWriter, req *http.Request, name string, modtime time.Time, content ReadSeeker)
ReadWriteCloser is the interface that groups the basic Read, Write and Close methods. ( ReadWriteCloser) Close() error ( ReadWriteCloser) Read(p []byte) (n int, err error) ( ReadWriteCloser) Write([]byte) (int, error) *crypto/tls.Conn *internal/poll.FD net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn *os.File ReadWriteCloser : Closer ReadWriteCloser : ReadCloser ReadWriteCloser : Reader ReadWriteCloser : ReadWriter ReadWriteCloser : WriteCloser ReadWriteCloser : Writer ReadWriteCloser : internal/bisect.Writer func net/rpc.NewClient(conn ReadWriteCloser) *rpc.Client func net/rpc.ServeConn(conn ReadWriteCloser) func net/rpc.(*Server).ServeConn(conn ReadWriteCloser) func net/rpc/jsonrpc.NewClient(conn ReadWriteCloser) *rpc.Client func net/rpc/jsonrpc.NewClientCodec(conn ReadWriteCloser) rpc.ClientCodec func net/rpc/jsonrpc.NewServerCodec(conn ReadWriteCloser) rpc.ServerCodec func net/rpc/jsonrpc.ServeConn(conn ReadWriteCloser) func net/textproto.NewConn(conn ReadWriteCloser) *textproto.Conn
ReadWriter is the interface that groups the basic Read and Write methods. ( ReadWriter) Read(p []byte) (n int, err error) ( ReadWriter) Write([]byte) (int, error) ReadWriteCloser (interface) ReadWriteSeeker (interface) bufio.ReadWriter *bytes.Buffer *crypto/internal/fips140/sha3.SHAKE *crypto/sha3.SHAKE *crypto/tls.Conn *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn *os.File ReadWriter : Reader ReadWriter : Writer ReadWriter : internal/bisect.Writer
ReadWriteSeeker is the interface that groups the basic Read, Write and Seek methods. ( ReadWriteSeeker) Read(p []byte) (n int, err error) ( ReadWriteSeeker) Seek(offset int64, whence int) (int64, error) ( ReadWriteSeeker) Write([]byte) (int, error) *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD *os.File ReadWriteSeeker : Reader ReadWriteSeeker : ReadSeeker ReadWriteSeeker : ReadWriter ReadWriteSeeker : Seeker ReadWriteSeeker : Writer ReadWriteSeeker : WriteSeeker ReadWriteSeeker : internal/bisect.Writer
RuneReader is the interface that wraps the ReadRune method. ReadRune reads a single encoded Unicode character and returns the rune and its size in bytes. If no character is available, err will be set. ( RuneReader) ReadRune() (r rune, size int, err error) RuneScanner (interface) *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader fmt.ScanState (interface) *strings.Reader func regexp.MatchReader(pattern string, r RuneReader) (matched bool, err error) func regexp.(*Regexp).FindReaderIndex(r RuneReader) (loc []int) func regexp.(*Regexp).FindReaderSubmatchIndex(r RuneReader) []int func regexp.(*Regexp).MatchReader(r RuneReader) bool
RuneScanner is the interface that adds the UnreadRune method to the basic ReadRune method. UnreadRune causes the next call to ReadRune to return the last rune read. If the last operation was not a successful call to ReadRune, UnreadRune may return an error, unread the last rune read (or the rune prior to the last-unread rune), or (in implementations that support the [Seeker] interface) seek to the start of the rune before the current offset. ( RuneScanner) ReadRune() (r rune, size int, err error) ( RuneScanner) UnreadRune() error *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader fmt.ScanState (interface) *strings.Reader RuneScanner : RuneReader
SectionReader implements Read, Seek, and ReadAt on a section of an underlying [ReaderAt]. Outer returns the underlying [ReaderAt] and offsets for the section. The returned values are the same that were passed to [NewSectionReader] when the [SectionReader] was created. (*SectionReader) Read(p []byte) (n int, err error) (*SectionReader) ReadAt(p []byte, off int64) (n int, err error) (*SectionReader) Seek(offset int64, whence int) (int64, error) Size returns the size of the section in bytes. *SectionReader : Reader *SectionReader : ReaderAt *SectionReader : ReadSeeker *SectionReader : Seeker func NewSectionReader(r ReaderAt, off int64, n int64) *SectionReader
Seeker is the interface that wraps the basic Seek method. Seek sets the offset for the next Read or Write to offset, interpreted according to whence: [SeekStart] means relative to the start of the file, [SeekCurrent] means relative to the current offset, and [SeekEnd] means relative to the end (for example, offset = -2 specifies the penultimate byte of the file). Seek returns the new offset relative to the start of the file or an error, if any. Seeking to an offset before the start of the file is an error. Seeking to any positive offset may be allowed, but if the new offset exceeds the size of the underlying object the behavior of subsequent I/O operations is implementation-dependent. ( Seeker) Seek(offset int64, whence int) (int64, error) *OffsetWriter ReadSeekCloser (interface) ReadSeeker (interface) ReadWriteSeeker (interface) *SectionReader WriteSeeker (interface) *bytes.Reader *internal/coverage/slicereader.Reader *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD mime/multipart.File (interface) net/http.File (interface) *os.File *strings.Reader *vendor/golang.org/x/text/unicode/norm.Iter
StringWriter is the interface that wraps the WriteString method. ( StringWriter) WriteString(s string) (n int, err error) bufio.ReadWriter *bufio.Writer *bytes.Buffer *hash/maphash.Hash *log/slog/internal/buffer.Buffer *net/http/httptest.ResponseRecorder net/http/internal.FlushAfterChunkWriter *os.File *strings.Builder
WriteCloser is the interface that groups the basic Write and Close methods. ( WriteCloser) Close() error ( WriteCloser) Write([]byte) (int, error) *PipeWriter ReadWriteCloser (interface) *archive/tar.Writer *compress/flate.Writer *compress/gzip.Writer *compress/lzw.Writer *compress/zlib.Writer crypto/cipher.StreamWriter *crypto/tls.Conn *internal/poll.FD *log/syslog.Writer *mime/quotedprintable.Writer net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn *os.File *vendor/golang.org/x/net/http2/hpack.Decoder *vendor/golang.org/x/text/transform.Writer WriteCloser : Closer WriteCloser : Writer WriteCloser : internal/bisect.Writer func compress/lzw.NewWriter(w Writer, order lzw.Order, litWidth int) WriteCloser func encoding/ascii85.NewEncoder(w Writer) WriteCloser func encoding/base32.NewEncoder(enc *base32.Encoding, w Writer) WriteCloser func encoding/base64.NewEncoder(enc *base64.Encoding, w Writer) WriteCloser func encoding/hex.Dumper(w Writer) WriteCloser func net/http/httputil.NewChunkedWriter(w Writer) WriteCloser func net/http/internal.NewChunkedWriter(w Writer) WriteCloser func net/smtp.(*Client).Data() (WriteCloser, error) func net/textproto.(*Writer).DotWriter() WriteCloser func os/exec.(*Cmd).StdinPipe() (WriteCloser, error) func vendor/golang.org/x/text/unicode/norm.Form.Writer(w Writer) WriteCloser
Writer is the interface that wraps the basic Write method. Write writes len(p) bytes from p to the underlying data stream. It returns the number of bytes written from p (0 <= n <= len(p)) and any error encountered that caused the write to stop early. Write must return a non-nil error if it returns n < len(p). Write must not modify the slice data, even temporarily. Implementations must not retain p. ( Writer) Write([]byte) (int, error) *OffsetWriter *PipeWriter ReadWriteCloser (interface) ReadWriter (interface) ReadWriteSeeker (interface) WriteCloser (interface) WriteSeeker (interface) *archive/tar.Writer bufio.ReadWriter *bufio.Writer *bytes.Buffer *compress/flate.Writer *compress/gzip.Writer *compress/lzw.Writer *compress/zlib.Writer crypto/cipher.StreamWriter crypto/internal/fips140.Hash (interface) *crypto/internal/fips140/hmac.HMAC *crypto/internal/fips140/sha256.Digest *crypto/internal/fips140/sha3.Digest *crypto/internal/fips140/sha3.SHAKE *crypto/internal/fips140/sha512.Digest *crypto/sha3.SHA3 *crypto/sha3.SHAKE *crypto/tls.Conn fmt.State (interface) hash.Hash (interface) hash.Hash32 (interface) hash.Hash64 (interface) *hash/maphash.Hash internal/bisect.Writer (interface) *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD *log/slog/internal/buffer.Buffer *log/syslog.Writer *mime/quotedprintable.Writer net.Conn (interface) *net.IPConn *net.TCPConn *net.UDPConn *net.UnixConn net/http.ResponseWriter (interface) *net/http/httptest.ResponseRecorder net/http/internal.FlushAfterChunkWriter *os.File *strings.Builder *text/tabwriter.Writer *vendor/golang.org/x/crypto/internal/poly1305.MAC *vendor/golang.org/x/net/http2/hpack.Decoder *vendor/golang.org/x/text/transform.Writer Writer : internal/bisect.Writer func MultiWriter(writers ...Writer) Writer func archive/zip.(*Writer).Create(name string) (Writer, error) func archive/zip.(*Writer).CreateHeader(fh *zip.FileHeader) (Writer, error) func archive/zip.(*Writer).CreateRaw(fh *zip.FileHeader) (Writer, error) func encoding/hex.NewEncoder(w Writer) Writer func flag.(*FlagSet).Output() Writer func log.Writer() Writer func log.(*Logger).Writer() Writer func mime/multipart.(*Writer).CreateFormField(fieldname string) (Writer, error) func mime/multipart.(*Writer).CreateFormFile(fieldname, filename string) (Writer, error) func mime/multipart.(*Writer).CreatePart(header textproto.MIMEHeader) (Writer, error) func testing/iotest.NewWriteLogger(prefix string, w Writer) Writer func testing/iotest.TruncateWriter(w Writer, n int64) Writer func Copy(dst Writer, src Reader) (written int64, err error) func CopyBuffer(dst Writer, src Reader, buf []byte) (written int64, err error) func CopyN(dst Writer, src Reader, n int64) (written int64, err error) func MultiWriter(writers ...Writer) Writer func TeeReader(r Reader, w Writer) Reader func WriteString(w Writer, s string) (n int, err error) func WriterTo.WriteTo(w Writer) (n int64, err error) func archive/tar.NewWriter(w Writer) *tar.Writer func archive/zip.NewWriter(w Writer) *zip.Writer func bufio.NewWriter(w Writer) *bufio.Writer func bufio.NewWriterSize(w Writer, size int) *bufio.Writer func bufio.(*Reader).WriteTo(w Writer) (n int64, err error) func bufio.(*Writer).Reset(w Writer) func bytes.(*Buffer).WriteTo(w Writer) (n int64, err error) func bytes.(*Reader).WriteTo(w Writer) (n int64, err error) func compress/flate.NewWriter(w Writer, level int) (*flate.Writer, error) func compress/flate.NewWriterDict(w Writer, level int, dict []byte) (*flate.Writer, error) func compress/flate.(*Writer).Reset(dst Writer) func compress/gzip.NewWriter(w Writer) *gzip.Writer func compress/gzip.NewWriterLevel(w Writer, level int) (*gzip.Writer, error) func compress/gzip.(*Writer).Reset(w Writer) func compress/lzw.NewWriter(w Writer, order lzw.Order, litWidth int) WriteCloser func compress/lzw.(*Writer).Reset(dst Writer, order lzw.Order, litWidth int) func compress/zlib.NewWriter(w Writer) *zlib.Writer func compress/zlib.NewWriterLevel(w Writer, level int) (*zlib.Writer, error) func compress/zlib.NewWriterLevelDict(w Writer, level int, dict []byte) (*zlib.Writer, error) func compress/zlib.(*Writer).Reset(w Writer) func encoding/ascii85.NewEncoder(w Writer) WriteCloser func encoding/base32.NewEncoder(enc *base32.Encoding, w Writer) WriteCloser func encoding/base64.NewEncoder(enc *base64.Encoding, w Writer) WriteCloser func encoding/binary.Write(w Writer, order binary.ByteOrder, data any) error func encoding/csv.NewWriter(w Writer) *csv.Writer func encoding/gob.NewEncoder(w Writer) *gob.Encoder func encoding/hex.Dumper(w Writer) WriteCloser func encoding/hex.NewEncoder(w Writer) Writer func encoding/json.NewEncoder(w Writer) *json.Encoder func encoding/pem.Encode(out Writer, b *pem.Block) error func encoding/xml.Escape(w Writer, s []byte) func encoding/xml.EscapeText(w Writer, s []byte) error func encoding/xml.NewEncoder(w Writer) *xml.Encoder func flag.(*FlagSet).SetOutput(output Writer) func fmt.Fprint(w Writer, a ...any) (n int, err error) func fmt.Fprintf(w Writer, format string, a ...any) (n int, err error) func fmt.Fprintln(w Writer, a ...any) (n int, err error) func go/ast.Fprint(w Writer, fset *token.FileSet, x any, f ast.FieldFilter) error func go/doc.ToHTML(w Writer, text string, words map[string]string) func go/doc.ToText(w Writer, text string, prefix, codePrefix string, width int) func go/format.Node(dst Writer, fset *token.FileSet, node any) error func go/printer.Fprint(output Writer, fset *token.FileSet, node any) error func go/printer.(*Config).Fprint(output Writer, fset *token.FileSet, node any) error func go/scanner.PrintError(w Writer, err error) func go/types.(*Scope).WriteTo(w Writer, n int, recurse bool) func go101.org/nstd.WriteStringWithBuffer(w Writer, s string, buffer []byte) (int, error) func go101.org/nstd.WriteWithCheck(w Writer, p []byte) (n int, err error) func html/template.HTMLEscape(w Writer, b []byte) func html/template.JSEscape(w Writer, b []byte) func html/template.(*Template).Execute(wr Writer, data any) error func html/template.(*Template).ExecuteTemplate(wr Writer, name string, data any) error func image/gif.Encode(w Writer, m image.Image, o *gif.Options) error func image/gif.EncodeAll(w Writer, g *gif.GIF) error func image/jpeg.Encode(w Writer, m image.Image, o *jpeg.Options) error func image/png.Encode(w Writer, m image.Image) error func image/png.(*Encoder).Encode(w Writer, m image.Image) error func index/suffixarray.(*Index).Write(w Writer) error func internal/coverage/cfile.ProcessCoverTestDir(dir string, cfile string, cm string, cpkg string, w Writer, selpkgs []string) error func internal/coverage/cfile.WriteCounters(w Writer) error func internal/coverage/cfile.WriteMeta(w Writer) error func internal/coverage/cformat.(*Formatter).EmitFuncs(w Writer) error func internal/coverage/cformat.(*Formatter).EmitPercent(w Writer, pkgs []string, inpkgs string, noteEmpty bool, aggregate bool) error func internal/coverage/cformat.(*Formatter).EmitTextual(w Writer) error func internal/coverage/encodecounter.NewCoverageDataWriter(w Writer, flav coverage.CounterFlavor) *encodecounter.CoverageDataWriter func internal/coverage/encodemeta.NewCoverageMetaFileWriter(mfname string, w Writer) *encodemeta.CoverageMetaFileWriter func internal/coverage/stringtab.(*Writer).Write(w Writer) error func internal/lazytemplate.(*Template).Execute(w Writer, data any) error func internal/pkgbits.(*PkgEncoder).DumpTo(out0 Writer) (fingerprint [8]byte) func internal/profile.(*Profile).Write(w Writer) error func internal/trace/raw.NewTextWriter(w Writer, v version.Version) (*raw.TextWriter, error) func internal/trace/raw.NewWriter(w Writer, v version.Version) (*raw.Writer, error) func internal/trace/traceviewer.ViewerDataTraceConsumer(w Writer, startIdx, endIdx int64) traceviewer.TraceConsumer func internal/trace/version.WriteHeader(w Writer, v version.Version) (int, error) func log.New(out Writer, prefix string, flag int) *log.Logger func log.SetOutput(w Writer) func log.(*Logger).SetOutput(w Writer) func log/slog.NewJSONHandler(w Writer, opts *slog.HandlerOptions) *slog.JSONHandler func log/slog.NewTextHandler(w Writer, opts *slog.HandlerOptions) *slog.TextHandler func mime/multipart.NewWriter(w Writer) *multipart.Writer func mime/quotedprintable.NewWriter(w Writer) *quotedprintable.Writer func net.(*Buffers).WriteTo(w Writer) (n int64, err error) func net.(*TCPConn).WriteTo(w Writer) (int64, error) func net/http.Header.Write(w Writer) error func net/http.Header.WriteSubset(w Writer, exclude map[string]bool) error func net/http.(*Request).Write(w Writer) error func net/http.(*Request).WriteProxy(w Writer) error func net/http.(*Response).Write(w Writer) error func net/http/httputil.NewChunkedWriter(w Writer) WriteCloser func net/http/internal.NewChunkedWriter(w Writer) WriteCloser func os.(*File).WriteTo(w Writer) (n int64, err error) func runtime/coverage.WriteCounters(w Writer) error func runtime/coverage.WriteMeta(w Writer) error func runtime/pprof.StartCPUProfile(w Writer) error func runtime/pprof.WriteHeapProfile(w Writer) error func runtime/pprof.(*Profile).WriteTo(w Writer, debug int) error func runtime/trace.Start(w Writer) error func strings.(*Reader).WriteTo(w Writer) (n int64, err error) func strings.(*Replacer).WriteString(w Writer, s string) (n int, err error) func testing/internal/testdeps.TestDeps.StartCPUProfile(w Writer) error func testing/internal/testdeps.TestDeps.StartTestLog(w Writer) func testing/internal/testdeps.TestDeps.WriteProfileTo(name string, w Writer, debug int) error func testing/iotest.NewWriteLogger(prefix string, w Writer) Writer func testing/iotest.TruncateWriter(w Writer, n int64) Writer func text/tabwriter.NewWriter(output Writer, minwidth, tabwidth, padding int, padchar byte, flags uint) *tabwriter.Writer func text/tabwriter.(*Writer).Init(output Writer, minwidth, tabwidth, padding int, padchar byte, flags uint) *tabwriter.Writer func text/template.HTMLEscape(w Writer, b []byte) func text/template.JSEscape(w Writer, b []byte) func text/template.(*Template).Execute(wr Writer, data any) error func text/template.(*Template).ExecuteTemplate(wr Writer, name string, data any) error func vendor/golang.org/x/net/http2/hpack.HuffmanDecode(w Writer, v []byte) (int, error) func vendor/golang.org/x/net/http2/hpack.NewEncoder(w Writer) *hpack.Encoder func vendor/golang.org/x/text/transform.NewWriter(w Writer, t transform.Transformer) *transform.Writer func vendor/golang.org/x/text/unicode/norm.Form.Writer(w Writer) WriteCloser var Discard var io/ioutil.Discard
WriterAt is the interface that wraps the basic WriteAt method. WriteAt writes len(p) bytes from p to the underlying data stream at offset off. It returns the number of bytes written from p (0 <= n <= len(p)) and any error encountered that caused the write to stop early. WriteAt must return a non-nil error if it returns n < len(p). If WriteAt is writing to a destination with a seek offset, WriteAt should not affect nor be affected by the underlying seek offset. Clients of WriteAt can execute parallel WriteAt calls on the same destination if the ranges do not overlap. Implementations must not retain p. ( WriterAt) WriteAt(p []byte, off int64) (n int, err error) *OffsetWriter *os.File func NewOffsetWriter(w WriterAt, off int64) *OffsetWriter
WriterTo is the interface that wraps the WriteTo method. WriteTo writes data to w until there's no more data to write or when an error occurs. The return value n is the number of bytes written. Any error encountered during the write is also returned. The Copy function uses WriterTo if available. ( WriterTo) WriteTo(w Writer) (n int64, err error) *bufio.Reader bufio.ReadWriter *bytes.Buffer *bytes.Reader *net.Buffers *net.TCPConn *os.File *strings.Reader
WriteSeeker is the interface that groups the basic Write and Seek methods. ( WriteSeeker) Seek(offset int64, whence int) (int64, error) ( WriteSeeker) Write([]byte) (int, error) *OffsetWriter ReadWriteSeeker (interface) *internal/coverage/slicewriter.WriteSeeker *internal/poll.FD *os.File WriteSeeker : Seeker WriteSeeker : Writer WriteSeeker : internal/bisect.Writer func internal/coverage/encodemeta.(*CoverageMetaDataBuilder).Emit(w WriteSeeker) ([16]byte, error)
Package-Level Functions (total 15)
Copy copies from src to dst until either EOF is reached on src or an error occurs. It returns the number of bytes copied and the first error encountered while copying, if any. A successful Copy returns err == nil, not err == EOF. Because Copy is defined to read from src until EOF, it does not treat an EOF from Read as an error to be reported. If src implements [WriterTo], the copy is implemented by calling src.WriteTo(dst). Otherwise, if dst implements [ReaderFrom], the copy is implemented by calling dst.ReadFrom(src).
CopyBuffer is identical to Copy except that it stages through the provided buffer (if one is required) rather than allocating a temporary one. If buf is nil, one is allocated; otherwise if it has zero length, CopyBuffer panics. If either src implements [WriterTo] or dst implements [ReaderFrom], buf will not be used to perform the copy.
CopyN copies n bytes (or until an error) from src to dst. It returns the number of bytes copied and the earliest error encountered while copying. On return, written == n if and only if err == nil. If dst implements [ReaderFrom], the copy is implemented using it.
LimitReader returns a Reader that reads from r but stops with EOF after n bytes. The underlying implementation is a *LimitedReader.
MultiReader returns a Reader that's the logical concatenation of the provided input readers. They're read sequentially. Once all inputs have returned EOF, Read will return EOF. If any of the readers return a non-nil, non-EOF error, Read will return that error.
MultiWriter creates a writer that duplicates its writes to all the provided writers, similar to the Unix tee(1) command. Each write is written to each listed writer, one at a time. If a listed writer returns an error, that overall write operation stops and returns the error; it does not continue down the list.
NewOffsetWriter returns an [OffsetWriter] that writes to w starting at offset off.
NewSectionReader returns a [SectionReader] that reads from r starting at offset off and stops with EOF after n bytes.
NopCloser returns a [ReadCloser] with a no-op Close method wrapping the provided [Reader] r. If r implements [WriterTo], the returned [ReadCloser] will implement [WriterTo] by forwarding calls to r.
Pipe creates a synchronous in-memory pipe. It can be used to connect code expecting an [io.Reader] with code expecting an [io.Writer]. Reads and Writes on the pipe are matched one to one except when multiple Reads are needed to consume a single Write. That is, each Write to the [PipeWriter] blocks until it has satisfied one or more Reads from the [PipeReader] that fully consume the written data. The data is copied directly from the Write to the corresponding Read (or Reads); there is no internal buffering. It is safe to call Read and Write in parallel with each other or with Close. Parallel calls to Read and parallel calls to Write are also safe: the individual calls will be gated sequentially.
ReadAll reads from r until an error or EOF and returns the data it read. A successful call returns err == nil, not err == EOF. Because ReadAll is defined to read from src until EOF, it does not treat an EOF from Read as an error to be reported.
ReadAtLeast reads from r into buf until it has read at least min bytes. It returns the number of bytes copied and an error if fewer bytes were read. The error is EOF only if no bytes were read. If an EOF happens after reading fewer than min bytes, ReadAtLeast returns [ErrUnexpectedEOF]. If min is greater than the length of buf, ReadAtLeast returns [ErrShortBuffer]. On return, n >= min if and only if err == nil. If r returns an error having read at least min bytes, the error is dropped.
ReadFull reads exactly len(buf) bytes from r into buf. It returns the number of bytes copied and an error if fewer bytes were read. The error is EOF only if no bytes were read. If an EOF happens after reading some but not all the bytes, ReadFull returns [ErrUnexpectedEOF]. On return, n == len(buf) if and only if err == nil. If r returns an error having read at least len(buf) bytes, the error is dropped.
TeeReader returns a [Reader] that writes to w what it reads from r. All reads from r performed through it are matched with corresponding writes to w. There is no internal buffering - the write must complete before the read completes. Any error encountered while writing is reported as a read error.
WriteString writes the contents of the string s to w, which accepts a slice of bytes. If w implements [StringWriter], [StringWriter.WriteString] is invoked directly. Otherwise, [Writer.Write] is called exactly once.
Package-Level Variables (total 7)
Discard is a [Writer] on which all Write calls succeed without doing anything.
EOF is the error returned by Read when no more input is available. (Read must return EOF itself, not an error wrapping EOF, because callers will test for EOF using ==.) Functions should return EOF only to signal a graceful end of input. If the EOF occurs unexpectedly in a structured data stream, the appropriate error is either [ErrUnexpectedEOF] or some other error giving more detail.
ErrClosedPipe is the error used for read or write operations on a closed pipe.
ErrNoProgress is returned by some clients of a [Reader] when many calls to Read have failed to return any data or error, usually the sign of a broken [Reader] implementation.
ErrShortBuffer means that a read required a longer buffer than was provided.
ErrShortWrite means that a write accepted fewer bytes than requested but failed to return an explicit error.
ErrUnexpectedEOF means that EOF was encountered in the middle of reading a fixed-size block or data structure.
Package-Level Constants (total 3)
Seek whence values.
Seek whence values.
Seek whence values.