io
I/Oimport "io"Provides basic interfaces for I/O primitives. The Reader and Writer interfaces are fundamental to Go's I/O model.
Example
package main
import (
"io"
"os"
"strings"
)
func main() {
r := strings.NewReader("Hello")
io.Copy(os.Stdout, r)
}Key Types & Functions
ReaderWriterReadCloserCopyReadAllNopCloserAbout io
The io package (imported as io) belongs to the I/O category of Go packages. Provides basic interfaces for I/O primitives. The Reader and Writer interfaces are fundamental to Go's I/O model.
Go's standard library is one of the language's greatest strengths, providing production-ready implementations for networking, cryptography, encoding, I/O, and more. The io package follows Go's philosophy of simplicity and composability — small, focused packages that combine through interfaces like io.Reader and io.Writer.
When using io in production, follow Go best practices: handle errors explicitly, use context for cancellation and timeouts, prefer composition over inheritance, and write table-driven tests. The Go documentation at pkg.go.dev provides comprehensive API references and examples for every exported type and function.