Standard library
go1.25.2
Go to latest Published: Oct 7, 2025 License:BSD-3-Clause
Opens a new window with list of versions in this module.
Latest LatestThis package is not in the latest version of its module.
Opens a new window with license information.
Details
Validgo.mod file
The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.
Redistributable license
Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.
Tagged version
Modules with tagged versions give importers more predictable builds.
Stable version
When a project reaches major version v1 it is considered stable.
- Learn more about best practices
Repository
Links
Directories¶
Path | Synopsis |
---|---|
archive | |
tar Package tar implements access to tar archives. | Package tar implements access to tar archives. |
zip Package zip provides support for reading and writing ZIP archives. | Package zip provides support for reading and writing ZIP archives. |
Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O. | Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer object, creating another object (Reader or Writer) that also implements the interface but provides buffering and some help for textual I/O. |
Package builtin provides documentation for Go's predeclared identifiers. | Package builtin provides documentation for Go's predeclared identifiers. |
Package bytes implements functions for the manipulation of byte slices. | Package bytes implements functions for the manipulation of byte slices. |
Package cmp provides types and functions related to comparing ordered values. | Package cmp provides types and functions related to comparing ordered values. |
compress | |
bzip2 Package bzip2 implements bzip2 decompression. | Package bzip2 implements bzip2 decompression. |
flate Package flate implements the DEFLATE compressed data format, described in RFC 1951. | Package flate implements the DEFLATE compressed data format, described in RFC 1951. |
gzip Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952. | Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952. |
lzw Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19. | Package lzw implements the Lempel-Ziv-Welch compressed data format, described in T. A. Welch, “A Technique for High-Performance Data Compression”, Computer, 17(6) (June 1984), pp 8-19. |
zlib Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950. | Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950. |
container | |
heap Package heap provides heap operations for any type that implements heap.Interface. | Package heap provides heap operations for any type that implements heap.Interface. |
list Package list implements a doubly linked list. | Package list implements a doubly linked list. |
ring Package ring implements operations on circular lists. | Package ring implements operations on circular lists. |
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes. | Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes. |
Package crypto collects common cryptographic constants. | Package crypto collects common cryptographic constants. |
aes Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197. | Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197. |
cipher Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations. | Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations. |
des Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3. | Package des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S. Federal Information Processing Standards Publication 46-3. |
dsa Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3. | Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3. |
ecdh Package ecdh implements Elliptic Curve Diffie-Hellman over NIST curves and Curve25519. | Package ecdh implements Elliptic Curve Diffie-Hellman over NIST curves and Curve25519. |
ecdsa Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in [FIPS 186-5]. | Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in [FIPS 186-5]. |
ed25519 Package ed25519 implements the Ed25519 signature algorithm. | Package ed25519 implements the Ed25519 signature algorithm. |
elliptic Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields. | Package elliptic implements the standard NIST P-224, P-256, P-384, and P-521 elliptic curves over prime fields. |
hkdf Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. | Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. |
hmac Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198. | Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198. |
internal/boring Package boring provides access to BoringCrypto implementation functions. | Package boring provides access to BoringCrypto implementation functions. |
internal/boring/bcache Package bcache implements a GC-friendly cache (see Cache) for BoringCrypto. | Package bcache implements a GC-friendly cache (see Cache) for BoringCrypto. |
internal/boring/sig Package sig holds “code signatures” that can be called and will result in certain code sequences being linked into the final binary. | Package sig holds “code signatures” that can be called and will result in certain code sequences being linked into the final binary. |
internal/entropy Package entropy provides the passive entropy source for the FIPS 140-3 module. | Package entropy provides the passive entropy source for the FIPS 140-3 module. |
internal/fips140/alias Package alias implements memory aliasing tests. | Package alias implements memory aliasing tests. |
internal/fips140/check Package check implements the FIPS 140 load-time code+data verification. | Package check implements the FIPS 140 load-time code+data verification. |
internal/fips140/check/checktest Package checktest defines some code and data for use in the crypto/internal/fips140/check test. | Package checktest defines some code and data for use in the crypto/internal/fips140/check test. |
internal/fips140/drbg Package drbg provides cryptographically secure random bytes usable by FIPS code. | Package drbg provides cryptographically secure random bytes usable by FIPS code. |
internal/fips140/edwards25519 Package edwards25519 implements group logic for the twisted Edwards curve | Package edwards25519 implements group logic for the twisted Edwards curve |
internal/fips140/edwards25519/field Package field implements fast arithmetic modulo 2^255-19. | Package field implements fast arithmetic modulo 2^255-19. |
internal/fips140/hmac Package hmac implements HMAC according to [FIPS 198-1]. | Package hmac implements HMAC according to [FIPS 198-1]. |
internal/fips140/mlkem Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203]. | Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203]. |
internal/fips140/nistec Package nistec implements the elliptic curves from NIST SP 800-186. | Package nistec implements the elliptic curves from NIST SP 800-186. |
internal/fips140/sha256 Package sha256 implements the SHA-224 and SHA-256 hash algorithms as defined in FIPS 180-4. | Package sha256 implements the SHA-224 and SHA-256 hash algorithms as defined in FIPS 180-4. |
internal/fips140/sha3 Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length functions defined by [FIPS 202], as well as the cSHAKE extendable-output-length functions defined by [SP 800-185]. | Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length functions defined by [FIPS 202], as well as the cSHAKE extendable-output-length functions defined by [SP 800-185]. |
internal/fips140/sha512 Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4. | Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4. |
internal/fips140/ssh Package ssh implements the SSH KDF as specified in RFC 4253, Section 7.2 and allowed by SP 800-135 Revision 1. | Package ssh implements the SSH KDF as specified in RFC 4253, Section 7.2 and allowed by SP 800-135 Revision 1. |
internal/fips140/tls13 Package tls13 implements the TLS 1.3 Key Schedule as specified in RFC 8446, Section 7.1 and allowed by FIPS 140-3 IG 2.4.B Resolution 7. | Package tls13 implements the TLS 1.3 Key Schedule as specified in RFC 8446, Section 7.1 and allowed by FIPS 140-3 IG 2.4.B Resolution 7. |
internal/fips140cache Package fips140cache provides a weak map that associates the lifetime of values with the lifetime of keys. | Package fips140cache provides a weak map that associates the lifetime of values with the lifetime of keys. |
internal/fips140deps Package fipsdeps contains wrapper packages for internal APIs that are exposed to the FIPS module. | Package fipsdeps contains wrapper packages for internal APIs that are exposed to the FIPS module. |
internal/impl Package impl is a registry of alternative implementations of cryptographic primitives, to allow selecting them for testing. | Package impl is a registry of alternative implementations of cryptographic primitives, to allow selecting them for testing. |
internal/randutil Package randutil contains internal randomness utilities for various crypto packages. | Package randutil contains internal randomness utilities for various crypto packages. |
internal/sysrand Package rand provides cryptographically secure random bytes from the operating system. | Package rand provides cryptographically secure random bytes from the operating system. |
md5 Package md5 implements the MD5 hash algorithm as defined in RFC 1321. | Package md5 implements the MD5 hash algorithm as defined in RFC 1321. |
mlkem Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203]. | Package mlkem implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber), as specified in [NIST FIPS 203]. |
pbkdf2 Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 8018 (PKCS #5 v2.1). | Package pbkdf2 implements the key derivation function PBKDF2 as defined in RFC 8018 (PKCS #5 v2.1). |
rand Package rand implements a cryptographically secure random number generator. | Package rand implements a cryptographically secure random number generator. |
rc4 Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography. | Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography. |
rsa Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017. | Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017. |
sha1 Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174. | Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174. |
sha256 Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4. | Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4. |
sha3 Package sha3 implements the SHA-3 hash algorithms and the SHAKE extendable output functions defined in FIPS 202. | Package sha3 implements the SHA-3 hash algorithms and the SHAKE extendable output functions defined in FIPS 202. |
sha512 Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4. | Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4. |
subtle Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly. | Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly. |
tls Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446. | Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446. |
tls/internal/fips140tls Package fips140tls controls whether crypto/tls requires FIPS-approved settings. | Package fips140tls controls whether crypto/tls requires FIPS-approved settings. |
x509 Package x509 implements a subset of the X.509 standard. | Package x509 implements a subset of the X.509 standard. |
x509/internal/macos Package macOS provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib. | Package macOS provides cgo-less wrappers for Core Foundation and Security.framework, similarly to how package syscall provides access to libSystem.dylib. |
x509/pkix Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP. | Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP. |
database | |
sql Package sql provides a generic interface around SQL (or SQL-like) databases. | Package sql provides a generic interface around SQL (or SQL-like) databases. |
sql/driver Package driver defines interfaces to be implemented by database drivers as used by package sql. | Package driver defines interfaces to be implemented by database drivers as used by package sql. |
debug | |
buildinfo Package buildinfo provides access to information embedded in a Go binary about how it was built. | Package buildinfo provides access to information embedded in a Go binary about how it was built. |
dwarf Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf. | Package dwarf provides access to DWARF debugging information loaded from executable files, as defined in the DWARF 2.0 Standard at http://dwarfstd.org/doc/dwarf-2.0.0.pdf. |
elf Package elf implements access to ELF object files. | Package elf implements access to ELF object files. |
gosym Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers. | Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers. |
macho Package macho implements access to Mach-O object files. | Package macho implements access to Mach-O object files. |
pe Package pe implements access to PE (Microsoft Windows Portable Executable) files. | Package pe implements access to PE (Microsoft Windows Portable Executable) files. |
plan9obj Package plan9obj implements access to Plan 9 a.out object files. | Package plan9obj implements access to Plan 9 a.out object files. |
Package embed provides access to files embedded in the running Go program. | Package embed provides access to files embedded in the running Go program. |
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations. | Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations. |
ascii85 Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats. | Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats. |
asn1 Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690. | Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690. |
base32 Package base32 implements base32 encoding as specified by RFC 4648. | Package base32 implements base32 encoding as specified by RFC 4648. |
base64 Package base64 implements base64 encoding as specified by RFC 4648. | Package base64 implements base64 encoding as specified by RFC 4648. |
binary Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints. | Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints. |
csv Package csv reads and writes comma-separated values (CSV) files. | Package csv reads and writes comma-separated values (CSV) files. |
gob Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver). | Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver). |
hex Package hex implements hexadecimal encoding and decoding. | Package hex implements hexadecimal encoding and decoding. |
json Package json implements encoding and decoding of JSON as defined in RFC 7159. | Package json implements encoding and decoding of JSON as defined in RFC 7159. |
json/jsontext Package jsontext implements syntactic processing of JSON as specified in RFC 4627, RFC 7159, RFC 7493, RFC 8259, and RFC 8785. | Package jsontext implements syntactic processing of JSON as specified in RFC 4627, RFC 7159, RFC 7493, RFC 8259, and RFC 8785. |
json/v2 Package json implements semantic processing of JSON as specified in RFC 8259. | Package json implements semantic processing of JSON as specified in RFC 8259. |
pem Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail. | Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail. |
xml Package xml implements a simple XML 1.0 parser that understands XML name spaces. | Package xml implements a simple XML 1.0 parser that understands XML name spaces. |
Package errors implements functions to manipulate errors. | Package errors implements functions to manipulate errors. |
Package expvar provides a standardized interface to public variables, such as operation counters in servers. | Package expvar provides a standardized interface to public variables, such as operation counters in servers. |
Package flag implements command-line flag parsing. | Package flag implements command-line flag parsing. |
Package fmt implements formatted I/O with functions analogous to C's printf and scanf. | Package fmt implements formatted I/O with functions analogous to C's printf and scanf. |
go | |
ast Package ast declares the types used to represent syntax trees for Go packages. | Package ast declares the types used to represent syntax trees for Go packages. |
build Package build gathers information about Go packages. | Package build gathers information about Go packages. |
build/constraint Package constraint implements parsing and evaluation of build constraint lines. | Package constraint implements parsing and evaluation of build constraint lines. |
constant Package constant implements Values representing untyped Go constants and their corresponding operations. | Package constant implements Values representing untyped Go constants and their corresponding operations. |
doc Package doc extracts source code documentation from a Go AST. | Package doc extracts source code documentation from a Go AST. |
doc/comment Package comment implements parsing and reformatting of Go doc comments, (documentation comments), which are comments that immediately precede a top-level declaration of a package, const, func, type, or var. | Package comment implements parsing and reformatting of Go doc comments, (documentation comments), which are comments that immediately precede a top-level declaration of a package, const, func, type, or var. |
format Package format implements standard formatting of Go source. | Package format implements standard formatting of Go source. |
importer Package importer provides access to export data importers. | Package importer provides access to export data importers. |
internal/gccgoimporter Package gccgoimporter implements Import for gccgo-generated object files. | Package gccgoimporter implements Import for gccgo-generated object files. |
internal/gcimporter Package gcimporter implements Import for gc-generated object files. | Package gcimporter implements Import for gc-generated object files. |
internal/srcimporter Package srcimporter implements importing directly from source files rather than installed packages. | Package srcimporter implements importing directly from source files rather than installed packages. |
parser Package parser implements a parser for Go source files. | Package parser implements a parser for Go source files. |
printer Package printer implements printing of AST nodes. | Package printer implements printing of AST nodes. |
scanner Package scanner implements a scanner for Go source text. | Package scanner implements a scanner for Go source text. |
token Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). | Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). |
types Package types declares the data types and implements the algorithms for type-checking of Go packages. | Package types declares the data types and implements the algorithms for type-checking of Go packages. |
version Package version provides operations on [Go versions] in [Go toolchain name syntax]: strings like "go1.20", "go1.21.0", "go1.22rc2", and "go1.23.4-bigcorp". | Package version provides operations on [Go versions] in [Go toolchain name syntax]: strings like "go1.20", "go1.21.0", "go1.22rc2", and "go1.23.4-bigcorp". |
Package hash provides interfaces for hash functions. | Package hash provides interfaces for hash functions. |
adler32 Package adler32 implements the Adler-32 checksum. | Package adler32 implements the Adler-32 checksum. |
crc32 Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum. | Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum. |
crc64 Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum. | Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum. |
fnv Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo. | Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo. |
maphash Package maphash provides hash functions on byte sequences and comparable values. | Package maphash provides hash functions on byte sequences and comparable values. |
Package html provides functions for escaping and unescaping HTML text. | Package html provides functions for escaping and unescaping HTML text. |
template Package template (html/template) implements data-driven templates for generating HTML output safe against code injection. | Package template (html/template) implements data-driven templates for generating HTML output safe against code injection. |
Package image implements a basic 2-D image library. | Package image implements a basic 2-D image library. |
color Package color implements a basic color library. | Package color implements a basic color library. |
color/palette Package palette provides standard color palettes. | Package palette provides standard color palettes. |
draw Package draw provides image composition functions. | Package draw provides image composition functions. |
gif Package gif implements a GIF image decoder and encoder. | Package gif implements a GIF image decoder and encoder. |
internal/imageutil Package imageutil contains code shared by image-related packages. | Package imageutil contains code shared by image-related packages. |
jpeg Package jpeg implements a JPEG image decoder and encoder. | Package jpeg implements a JPEG image decoder and encoder. |
png Package png implements a PNG image decoder and encoder. | Package png implements a PNG image decoder and encoder. |
index | |
suffixarray Package suffixarray implements substring search in logarithmic time using an in-memory suffix array. | Package suffixarray implements substring search in logarithmic time using an in-memory suffix array. |
internal | |
asan Package asan contains helper functions for manually instrumenting code for the address sanitizer. | Package asan contains helper functions for manually instrumenting code for the address sanitizer. |
bisect Package bisect can be used by compilers and other programs to serve as a target for the bisect debugging tool. | Package bisect can be used by compilers and other programs to serve as a target for the bisect debugging tool. |
buildcfg Package buildcfg provides access to the build configuration described by the current environment. | Package buildcfg provides access to the build configuration described by the current environment. |
byteorder Package byteorder provides functions for decoding and encoding little and big endian integer types from/to byte slices. | Package byteorder provides functions for decoding and encoding little and big endian integer types from/to byte slices. |
cfg Package cfg holds configuration shared by the Go command and internal/testenv. | Package cfg holds configuration shared by the Go command and internal/testenv. |
cgrouptest Package cgrouptest provides best-effort helpers for running tests inside a cgroup. | Package cgrouptest provides best-effort helpers for running tests inside a cgroup. |
chacha8rand Package chacha8rand implements a pseudorandom generator based on ChaCha8. | Package chacha8rand implements a pseudorandom generator based on ChaCha8. |
coverage/cfile Package cfile implements management of coverage files. | Package cfile implements management of coverage files. |
cpu Package cpu implements processor feature detection used by the Go standard library. | Package cpu implements processor feature detection used by the Go standard library. |
dag Package dag implements a language for expressing directed acyclic graphs. | Package dag implements a language for expressing directed acyclic graphs. |
exportdata Package exportdata implements common utilities for finding and reading gc-generated object files. | Package exportdata implements common utilities for finding and reading gc-generated object files. |
filepathlite Package filepathlite implements a subset of path/filepath, only using packages which may be imported by "os". | Package filepathlite implements a subset of path/filepath, only using packages which may be imported by "os". |
fmtsort Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages. | Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages. |
fuzz Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package. | Package fuzz provides common fuzzing functionality for tests built with "go test" and for programs that use fuzzing functionality in the testing package. |
goarch package goarch contains GOARCH-specific constants. | package goarch contains GOARCH-specific constants. |
godebug Package godebug makes the settings in the $GODEBUG environment variable available to other packages. | Package godebug makes the settings in the $GODEBUG environment variable available to other packages. |
godebugs Package godebugs provides a table of known GODEBUG settings, for use by a variety of other packages, including internal/godebug, runtime, runtime/metrics, and cmd/go/internal/load. | Package godebugs provides a table of known GODEBUG settings, for use by a variety of other packages, including internal/godebug, runtime, runtime/metrics, and cmd/go/internal/load. |
goexperiment Package goexperiment implements support for toolchain experiments. | Package goexperiment implements support for toolchain experiments. |
goos package goos contains GOOS-specific constants. | package goos contains GOOS-specific constants. |
gover Package gover implements support for Go toolchain versions like 1.21.0 and 1.21rc1. | Package gover implements support for Go toolchain versions like 1.21.0 and 1.21rc1. |
lazyregexp Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init. | Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init. |
lazytemplate Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init. | Package lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init. |
msan Package msan contains helper functions for manually instrumenting code for the memory sanitizer. | Package msan contains helper functions for manually instrumenting code for the memory sanitizer. |
nettrace Package nettrace contains internal hooks for tracing activity in the net package. | Package nettrace contains internal hooks for tracing activity in the net package. |
obscuretestdata Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986. | Package obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986. |
oserror Package oserror defines errors values used in the os package. | Package oserror defines errors values used in the os package. |
pkgbits Package pkgbits implements low-level coding abstractions for Unified IR's (UIR) binary export data format. | Package pkgbits implements low-level coding abstractions for Unified IR's (UIR) binary export data format. |
poll Package poll supports non-blocking I/O on file descriptors with polling. | Package poll supports non-blocking I/O on file descriptors with polling. |
profile Package profile represents a pprof profile as a directed graph. | Package profile represents a pprof profile as a directed graph. |
profilerecord Package profilerecord holds internal types used to represent profiling records with deep stack traces. | Package profilerecord holds internal types used to represent profiling records with deep stack traces. |
race Package race contains helper functions for manually instrumenting code for the race detector. | Package race contains helper functions for manually instrumenting code for the race detector. |
reflectlite Package reflectlite implements lightweight version of reflect, not using any package except for "runtime", "unsafe", and "internal/abi" | Package reflectlite implements lightweight version of reflect, not using any package except for "runtime", "unsafe", and "internal/abi" |
routebsd Package routebsd supports reading interface addresses on BSD systems. | Package routebsd supports reading interface addresses on BSD systems. |
runtime/atomic Package atomic provides atomic operations, independent of sync/atomic, to the runtime. | Package atomic provides atomic operations, independent of sync/atomic, to the runtime. |
runtime/exithook Package exithook provides limited support for on-exit cleanup. | Package exithook provides limited support for on-exit cleanup. |
runtime/maps Package maps implements Go's builtin map type. | Package maps implements Go's builtin map type. |
runtime/startlinetest Package startlinetest contains helpers for runtime_test.TestStartLineAsm. | Package startlinetest contains helpers for runtime_test.TestStartLineAsm. |
runtime/sys package sys contains system- and configuration- and architecture-specific constants used by the runtime. | package sys contains system- and configuration- and architecture-specific constants used by the runtime. |
runtime/syscall Package syscall provides the syscall primitives required for the runtime. | Package syscall provides the syscall primitives required for the runtime. |
saferio Package saferio provides I/O functions that avoid allocating large amounts of memory unnecessarily. | Package saferio provides I/O functions that avoid allocating large amounts of memory unnecessarily. |
singleflight Package singleflight provides a duplicate function call suppression mechanism. | Package singleflight provides a duplicate function call suppression mechanism. |
stringslite Package stringslite implements a subset of strings, only using packages that may be imported by "os". | Package stringslite implements a subset of strings, only using packages that may be imported by "os". |
sync Package sync provides basic synchronization primitives such as mutual exclusion locks to internal packages (including ones that depend on sync). | Package sync provides basic synchronization primitives such as mutual exclusion locks to internal packages (including ones that depend on sync). |
synctest Package synctest provides support for testing concurrent code. | Package synctest provides support for testing concurrent code. |
syscall/windows/registry Package registry provides access to the Windows registry. | Package registry provides access to the Windows registry. |
syscall/windows/sysdll Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself. | Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself. |
sysinfo Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes. | Package sysinfo implements high level hardware information gathering that can be used for debugging or information purposes. |
testenv Package testenv provides information about what functionality is available in different testing environments run by the Go team. | Package testenv provides information about what functionality is available in different testing environments run by the Go team. |
testlog Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults. | Package testlog provides a back-channel communication path between tests and package os, so that cmd/go can see which environment variables and files a test consults. |
testpty Package testpty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo. | Package testpty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo. |
trace/internal/tracev1 Package tracev1 implements a parser for Go execution traces from versions 1.11–1.21. | Package tracev1 implements a parser for Go execution traces from versions 1.11–1.21. |
trace/raw Package raw provides an interface to interpret and emit Go execution traces. | Package raw provides an interface to interpret and emit Go execution traces. |
trace/tracev2 Package tracev2 contains definitions for the v2 execution trace wire format. | Package tracev2 contains definitions for the v2 execution trace wire format. |
trace/traceviewer/format Package traceviewer provides definitions of the JSON data structures used by the Chrome trace viewer. | Package traceviewer provides definitions of the JSON data structures used by the Chrome trace viewer. |
txtar Package txtar implements a trivial text-based file archive format. | Package txtar implements a trivial text-based file archive format. |
unsafeheader Package unsafeheader contains header declarations for the Go runtime's slice and string implementations. | Package unsafeheader contains header declarations for the Go runtime's slice and string implementations. |
xcoff Package xcoff implements access to XCOFF (Extended Common Object File Format) files. | Package xcoff implements access to XCOFF (Extended Common Object File Format) files. |
zstd Package zstd provides a decompressor for zstd streams, described in RFC 8878. | Package zstd provides a decompressor for zstd streams, described in RFC 8878. |
Package io provides basic interfaces to I/O primitives. | Package io provides basic interfaces to I/O primitives. |
fs Package fs defines basic interfaces to a file system. | Package fs defines basic interfaces to a file system. |
ioutil Package ioutil implements some I/O utility functions. | Package ioutil implements some I/O utility functions. |
Package iter provides basic definitions and operations related to iterators over sequences. | Package iter provides basic definitions and operations related to iterators over sequences. |
Package log implements a simple logging package. | Package log implements a simple logging package. |
internal Package internal contains definitions used by both log and log/slog. | Package internal contains definitions used by both log and log/slog. |
slog Package slog provides structured logging, in which log records include a message, a severity level, and various other attributes expressed as key-value pairs. | Package slog provides structured logging, in which log records include a message, a severity level, and various other attributes expressed as key-value pairs. |
slog/internal/benchmarks Package benchmarks contains benchmarks for slog. | Package benchmarks contains benchmarks for slog. |
slog/internal/buffer Package buffer provides a pool-allocated byte buffer. | Package buffer provides a pool-allocated byte buffer. |
syslog Package syslog provides a simple interface to the system log service. | Package syslog provides a simple interface to the system log service. |
Package maps defines various functions useful with maps of any type. | Package maps defines various functions useful with maps of any type. |
Package math provides basic constants and mathematical functions. | Package math provides basic constants and mathematical functions. |
big Package big implements arbitrary-precision arithmetic (big numbers). | Package big implements arbitrary-precision arithmetic (big numbers). |
big/internal/asmgen Asmgen generates math/big assembly. | Asmgen generates math/big assembly. |
bits Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types. | Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types. |
cmplx Package cmplx provides basic constants and mathematical functions for complex numbers. | Package cmplx provides basic constants and mathematical functions for complex numbers. |
rand Package rand implements pseudo-random number generators suitable for tasks such as simulation, but it should not be used for security-sensitive work. | Package rand implements pseudo-random number generators suitable for tasks such as simulation, but it should not be used for security-sensitive work. |
rand/v2 Package rand implements pseudo-random number generators suitable for tasks such as simulation, but it should not be used for security-sensitive work. | Package rand implements pseudo-random number generators suitable for tasks such as simulation, but it should not be used for security-sensitive work. |
Package mime implements parts of the MIME spec. | Package mime implements parts of the MIME spec. |
multipart Package multipart implements MIME multipart parsing, as defined in RFC 2046. | Package multipart implements MIME multipart parsing, as defined in RFC 2046. |
quotedprintable Package quotedprintable implements quoted-printable encoding as specified by RFC 2045. | Package quotedprintable implements quoted-printable encoding as specified by RFC 2045. |
Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets. | Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets. |
http Package http provides HTTP client and server implementations. | Package http provides HTTP client and server implementations. |
http/cgi Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875. | Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875. |
http/cookiejar Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar. | Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar. |
http/fcgi Package fcgi implements the FastCGI protocol. | Package fcgi implements the FastCGI protocol. |
http/httptest Package httptest provides utilities for HTTP testing. | Package httptest provides utilities for HTTP testing. |
http/httptrace Package httptrace provides mechanisms to trace the events within HTTP client requests. | Package httptrace provides mechanisms to trace the events within HTTP client requests. |
http/httputil Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package. | Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package. |
http/internal Package internal contains HTTP internals shared by net/http and net/http/httputil. | Package internal contains HTTP internals shared by net/http and net/http/httputil. |
http/internal/testcert Package testcert contains a test-only localhost certificate. | Package testcert contains a test-only localhost certificate. |
http/pprof Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool. | Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool. |
internal/socktest Package socktest provides utilities for socket testing. | Package socktest provides utilities for socket testing. |
mail Package mail implements parsing of mail messages. | Package mail implements parsing of mail messages. |
netip Package netip defines an IP address type that's a small value type. | Package netip defines an IP address type that's a small value type. |
rpc Package rpc provides access to the exported methods of an object across a network or other I/O connection. | Package rpc provides access to the exported methods of an object across a network or other I/O connection. |
rpc/jsonrpc Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package. | Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package. |
smtp Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321. | Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321. |
textproto Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP. | Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP. |
url Package url parses URLs and implements query escaping. | Package url parses URLs and implements query escaping. |
Package os provides a platform-independent interface to operating system functionality. | Package os provides a platform-independent interface to operating system functionality. |
exec Package exec runs external commands. | Package exec runs external commands. |
exec/internal/fdtest Package fdtest provides test helpers for working with file descriptors across exec. | Package fdtest provides test helpers for working with file descriptors across exec. |
signal Package signal implements access to incoming signals. | Package signal implements access to incoming signals. |
user Package user allows user account lookups by name or id. | Package user allows user account lookups by name or id. |
Package path implements utility routines for manipulating slash-separated paths. | Package path implements utility routines for manipulating slash-separated paths. |
filepath Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths. | Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths. |
Package plugin implements loading and symbol resolution of Go plugins. | Package plugin implements loading and symbol resolution of Go plugins. |
Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types. | Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types. |
Package regexp implements regular expression search. | Package regexp implements regular expression search. |
syntax Package syntax parses regular expressions into parse trees and compiles parse trees into programs. | Package syntax parses regular expressions into parse trees and compiles parse trees into programs. |
Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines. | Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines. |
cgo Package cgo contains runtime support for code generated by the cgo tool. | Package cgo contains runtime support for code generated by the cgo tool. |
coverage Package coverage contains APIs for writing coverage profile data at runtime from long-running and/or server programs that do not terminate via os.Exit. | Package coverage contains APIs for writing coverage profile data at runtime from long-running and/or server programs that do not terminate via os.Exit. |
debug Package debug contains facilities for programs to debug themselves while they are running. | Package debug contains facilities for programs to debug themselves while they are running. |
metrics Package metrics provides a stable interface to access implementation-defined metrics exported by the Go runtime. | Package metrics provides a stable interface to access implementation-defined metrics exported by the Go runtime. |
pprof Package pprof writes runtime profiling data in the format expected by the pprof visualization tool. | Package pprof writes runtime profiling data in the format expected by the pprof visualization tool. |
race Package race implements data race detection logic. | Package race implements data race detection logic. |
trace Package trace contains facilities for programs to generate traces for the Go execution tracer. | Package trace contains facilities for programs to generate traces for the Go execution tracer. |
Package slices defines various functions useful with slices of any type. | Package slices defines various functions useful with slices of any type. |
Package sort provides primitives for sorting slices and user-defined collections. | Package sort provides primitives for sorting slices and user-defined collections. |
Package strconv implements conversions to and from string representations of basic data types. | Package strconv implements conversions to and from string representations of basic data types. |
Package strings implements simple functions to manipulate UTF-8 encoded strings. | Package strings implements simple functions to manipulate UTF-8 encoded strings. |
Package structs defines marker types that can be used as struct fields to modify the properties of a struct. | Package structs defines marker types that can be used as struct fields to modify the properties of a struct. |
Package sync provides basic synchronization primitives such as mutual exclusion locks. | Package sync provides basic synchronization primitives such as mutual exclusion locks. |
atomic Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms. | Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms. |
Package syscall contains an interface to the low-level operating system primitives. | Package syscall contains an interface to the low-level operating system primitives. |
js Package js gives access to the WebAssembly host environment when using the js/wasm architecture. | Package js gives access to the WebAssembly host environment when using the js/wasm architecture. |
Package testing provides support for automated testing of Go packages. | Package testing provides support for automated testing of Go packages. |
fstest Package fstest implements support for testing implementations and users of file systems. | Package fstest implements support for testing implementations and users of file systems. |
internal/testdeps Package testdeps provides access to dependencies needed by test execution. | Package testdeps provides access to dependencies needed by test execution. |
iotest Package iotest implements Readers and Writers useful mainly for testing. | Package iotest implements Readers and Writers useful mainly for testing. |
quick Package quick implements utility functions to help with black box testing. | Package quick implements utility functions to help with black box testing. |
slogtest Package slogtest implements support for testing implementations of log/slog.Handler. | Package slogtest implements support for testing implementations of log/slog.Handler. |
synctest Package synctest provides support for testing concurrent code. | Package synctest provides support for testing concurrent code. |
text | |
scanner Package scanner provides a scanner and tokenizer for UTF-8-encoded text. | Package scanner provides a scanner and tokenizer for UTF-8-encoded text. |
tabwriter Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text. | Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text. |
template Package template implements data-driven templates for generating textual output. | Package template implements data-driven templates for generating textual output. |
template/parse Package parse builds parse trees for templates as defined by text/template and html/template. | Package parse builds parse trees for templates as defined by text/template and html/template. |
Package time provides functionality for measuring and displaying time. | Package time provides functionality for measuring and displaying time. |
tzdata Package tzdata provides an embedded copy of the timezone database. | Package tzdata provides an embedded copy of the timezone database. |
Package unicode provides data and functions to test some properties of Unicode code points. | Package unicode provides data and functions to test some properties of Unicode code points. |
utf16 Package utf16 implements encoding and decoding of UTF-16 sequences. | Package utf16 implements encoding and decoding of UTF-16 sequences. |
utf8 Package utf8 implements functions and constants to support text encoded in UTF-8. | Package utf8 implements functions and constants to support text encoded in UTF-8. |
The unique package provides facilities for canonicalizing ("interning") comparable values. | The unique package provides facilities for canonicalizing ("interning") comparable values. |
Package unsafe contains operations that step around the type safety of Go programs. | Package unsafe contains operations that step around the type safety of Go programs. |
Package weak provides ways to safely reference memory weakly, that is, without preventing its reclamation. | Package weak provides ways to safely reference memory weakly, that is, without preventing its reclamation. |
Click to show internal directories.
Click to hide internal directories.