go: github.com/golang/go/src


bufioPackage bufio implements buffered I/O.
builtinPackage builtin provides documentation for Go's predeclared identifiers.
bytesPackage bytes implements functions for the manipulation of byte slices.
cmd/addr2lineAddr2line is a minimal simulation of the GNU addr2line tool, just enough to support pprof.
cmd/apiBinary api computes the exported API of a set of Go packages.
cmd/asmAsm, typically invoked as ``go tool asm'', assembles the source file into an object file named for the basename of the argument source file with a .o suffix.
cmd/asm/internal/archPackage arch defines architecture-specific information and support functions.
cmd/asm/internal/asmPackage asm implements the parser and instruction generator for the assembler.
cmd/asm/internal/flagsPackage flags implements top-level flags and the usage message for the assembler.
cmd/asm/internal/lexPackage lex implements lexical analysis for the assembler.
cmd/buildidBuildid displays or updates the build ID stored in a Go package or binary.
cmd/cgoCgo enables the creation of Go packages that call C code.
cmd/compileCompile, typically invoked as ``go tool compile,'' compiles a single Go package comprising the files named on the command line.
cmd/coverCover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
cmd/distDist helps bootstrap, build, and test the Go distribution.
cmd/docDoc (usually run as go doc) accepts zero, one or two arguments.
cmd/fixFix finds Go programs that use old APIs and rewrites them to use newer ones.
cmd/goGo is a tool for managing Go source code.
cmd/gofmtGofmt formats Go programs.
cmd/go/internal/authPackage auth provides access to user-provided authentication credentials.
cmd/go/internal/basePackage base defines shared basic pieces of the go command, in particular logging and the Command structure.
cmd/go/internal/bugPackage bug implements the ``go bug'' command.
cmd/go/internal/cachePackage cache implements a build artifact cache.
cmd/go/internal/cfgPackage cfg holds configuration shared by multiple parts of the go command.
cmd/go/internal/cleanPackage clean implements the ``go clean'' command.
cmd/go/internal/cmdflagPackage cmdflag handles flag processing common to several go tools.
cmd/go/internal/docPackage doc implements the ``go doc'' command.
cmd/go/internal/envcmdPackage envcmd implements the ``go env'' command.
cmd/go/internal/fixPackage fix implements the ``go fix'' command.
cmd/go/internal/fmtcmdPackage fmtcmd implements the ``go fmt'' command.
cmd/go/internal/fsysPackage fsys is an abstraction for reading files that allows for virtual overlays on top of the files on disk.
cmd/go/internal/generatePackage generate implements the ``go generate'' command.
cmd/go/internal/getPackage get implements the ``go get'' command.
cmd/go/internal/helpPackage help implements the ``go help'' command.
cmd/go/internal/listPackage list implements the ``go list'' command.
cmd/go/internal/loadPackage load loads packages.
cmd/go/internal/lockedfilePackage lockedfile creates and manipulates files whose contents should only change atomically.
cmd/go/internal/lockedfile/internal/filelockPackage filelock provides a platform-independent API for advisory file locking.
cmd/go/internal/modcmdPackage modcmd implements the ``go mod'' command.
cmd/go/internal/modfetch/codehostPackage codehost defines the interface implemented by a code hosting source, along with support code for use by implementations.
cmd/go/internal/modgetPackage modget implements the module-aware ``go get'' command.
cmd/go/internal/mvsPackage mvs implements Minimal Version Selection.
cmd/go/internal/parPackage par implements parallel execution helpers.
cmd/go/internal/renameioPackage renameio writes files atomically by renaming temporary files.
cmd/go/internal/robustioPackage robustio wraps I/O functions that are prone to failure on Windows, transparently retrying errors up to an arbitrary timeout.
cmd/go/internal/runPackage run implements the ``go run'' command.
cmd/go/internal/strPackage str provides string manipulation utilities.
cmd/go/internal/toolPackage tool implements the ``go tool'' command.
cmd/go/internal/txtarPackage txtar implements a trivial text-based file archive format.
cmd/go/internal/versionPackage version implements the ``go version'' command.
cmd/go/internal/vetPackage vet implements the ``go vet'' command.
cmd/go/internal/webPackage web defines minimal helper routines for accessing HTTP/HTTPS resources without requiring external dependencies on the net package.
cmd/internal/archivePackage archive implements reading of archive files generated by the Go toolchain.
cmd/internal/bioPackage bio implements common I/O abstractions used within the Go toolchain.
cmd/internal/browserPackage browser provides utilities for interacting with users' browsers.
cmd/internal/codesignPackage codesign provides basic functionalities for ad-hoc code signing of Mach-O files.
cmd/internal/diffPackage diff implements a Diff function that compare two inputs using the 'diff' tool.
cmd/internal/dwarfPackage dwarf generates DWARF debugging information.
cmd/internal/editPackage edit implements buffered position-based editing of byte slices.
cmd/internal/gcprogPackage gcprog implements an encoder for packed GC pointer bitmaps, known as GC programs.
cmd/internal/obj/arm64Package arm64 implements an ARM64 assembler.
cmd/internal/objfilePackage objfile implements portable access to OS-specific executable files.
cmd/internal/obj/ppc64Package ppc64 implements a PPC64 assembler that assembles Go asm into the corresponding PPC64 instructions as defined by the Power ISA 3.0B.
cmd/internal/pkgpathPackage pkgpath determines the package path used by gccgo/GoLLVM symbols.
cmd/internal/test2jsonPackage test2json implements conversion of test binary output to JSON.
cmd/internal/traceviewerPackage traceviewer provides definitions of the JSON data structures used by the Chrome trace viewer.
cmd/linkLink, typically invoked as ``go tool link'', reads the Go archive or object for a package main, along with its dependencies, and combines them into an executable binary.
cmd/link/internal/benchmarkPackage benchmark provides a Metrics object that enables memory and CPU profiling for the linker.
cmd/link/internal/loadelfPackage loadelf implements an ELF file reader.
cmd/link/internal/loadmachoPackage loadmacho implements a Mach-O file reader.
cmd/link/internal/loadpePackage loadpe implements a PE/COFF file reader.
cmd/link/internal/loadxcoffPackage loadxcoff implements a XCOFF file reader.
cmd/nmNm lists the symbols defined or used by an object file, archive, or executable.
cmd/objdumpObjdump disassembles executable files.
cmd/packPack is a simple version of the traditional Unix ar tool.
cmd/pprofPprof interprets and displays profiles of Go programs.
cmd/test2jsonTest2json converts go test output to a machine-readable JSON stream.
cmd/traceTrace is a tool for viewing trace files.
cmd/vetVet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.
contextPackage context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
cryptoPackage crypto collects common cryptographic constants.
crypto/aesPackage aes implements AES encryption (formerly Rijndael), as defined in U.S.
crypto/cipherPackage cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
crypto/desPackage des implements the Data Encryption Standard (DES) and the Triple Data Encryption Algorithm (TDEA) as defined in U.S.
crypto/dsaPackage dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
crypto/ecdsaPackage ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-3.
crypto/ed25519Package ed25519 implements the Ed25519 signature algorithm.
crypto/ellipticPackage elliptic implements several standard elliptic curves over prime fields.
crypto/hmacPackage hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S.
crypto/md5Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
crypto/randPackage rand implements a cryptographically secure random number generator.
crypto/rc4Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
crypto/rsaPackage rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
crypto/sha1Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
crypto/sha256Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
crypto/sha512Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
crypto/subtlePackage subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
crypto/tlsPackage tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
crypto/x509Package x509 parses X.509-encoded keys and certificates.
crypto/x509/pkixPackage pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
database/sqlPackage sql provides a generic interface around SQL (or SQL-like) databases.
database/sql/driverPackage driver defines interfaces to be implemented by database drivers as used by package sql.
debug/dwarfPackage 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
debug/elfPackage elf implements access to ELF object files.
debug/gosymPackage gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
debug/machoPackage macho implements access to Mach-O object files.
debug/pePackage pe implements access to PE (Microsoft Windows Portable Executable) files.
debug/plan9objPackage plan9obj implements access to Plan 9 a.out object files.
embedPackage embed provides access to files embedded in the running Go program.
encodingPackage encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
encoding/ascii85Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
encoding/asn1Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
encoding/base32Package base32 implements base32 encoding as specified by RFC 4648.
encoding/base64Package base64 implements base64 encoding as specified by RFC 4648.
encoding/binaryPackage binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
encoding/csvPackage csv reads and writes comma-separated values (CSV) files.
encoding/gobPackage gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
encoding/hexPackage hex implements hexadecimal encoding and decoding.
encoding/jsonPackage json implements encoding and decoding of JSON as defined in RFC 7159.
encoding/pemPackage pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
encoding/xmlPackage xml implements a simple XML 1.0 parser that understands XML name spaces.
errorsPackage errors implements functions to manipulate errors.
expvarPackage expvar provides a standardized interface to public variables, such as operation counters in servers.
flagPackage flag implements command-line flag parsing.
fmtPackage fmt implements formatted I/O with functions analogous to C's printf and scanf.
go/astPackage ast declares the types used to represent syntax trees for Go packages.
go/buildPackage build gathers information about Go packages.
go/constantPackage constant implements Values representing untyped Go constants and their corresponding operations.
go/docPackage doc extracts source code documentation from a Go AST.
go/formatPackage format implements standard formatting of Go source.
go/importerPackage importer provides access to export data importers.
go/parserPackage parser implements a parser for Go source files.
go/printerPackage printer implements printing of AST nodes.
go/scannerPackage scanner implements a scanner for Go source text.
go/tokenPackage token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
go/typesPackage types declares the data types and implements the algorithms for type-checking of Go packages.
hashPackage hash provides interfaces for hash functions.
hash/adler32Package adler32 implements the Adler-32 checksum.
hash/crc32Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
hash/crc64Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
hash/fnvPackage fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
hash/maphashPackage maphash provides hash functions on byte sequences.
htmlPackage html provides functions for escaping and unescaping HTML text.
html/templatePackage template (html/template) implements data-driven templates for generating HTML output safe against code injection.
imagePackage image implements a basic 2-D image library.
image/colorPackage color implements a basic color library.
image/color/palettePackage palette provides standard color palettes.
image/drawPackage draw provides image composition functions.
image/gifPackage gif implements a GIF image decoder and encoder.
image/jpegPackage jpeg implements a JPEG image decoder and encoder.
image/pngPackage png implements a PNG image decoder and encoder.
index/suffixarrayPackage suffixarray implements substring search in logarithmic time using an in-memory suffix array.
internal/cfgPackage cfg holds configuration shared by the Go command and internal/testenv.
internal/cpuPackage cpu implements processor feature detection used by the Go standard library.
internal/fmtsortPackage fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
internal/lazyregexpPackage lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
internal/lazytemplatePackage lazytemplate is a thin wrapper over text/template, allowing the use of global template variables without forcing them to be parsed at init.
internal/nettracePackage nettrace contains internal hooks for tracing activity in the net package.
internal/obscuretestdataPackage obscuretestdata contains functionality used by tests to more easily work with testdata that must be obscured primarily due to golang.org/issue/34986.
internal/oserrorPackage oserror defines errors values used in the os package.
internal/pollPackage poll supports non-blocking I/O on file descriptors with polling.
internal/profilePackage profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
internal/racePackage race contains helper functions for manually instrumenting code for the race detector.
internal/reflectlitePackage reflectlite implements lightweight version of reflect, not using any package except for "runtime" and "unsafe".
internal/singleflightPackage singleflight provides a duplicate function call suppression mechanism.
internal/sysinfoPackage sysinfo implements high level hardware information gathering that can be used for debugging or information purposes.
internal/testenvPackage testenv provides information about what functionality is available in different testing environments run by the Go team.
internal/testlogPackage 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.
internal/unsafeheaderPackage unsafeheader contains header declarations for the Go runtime's slice and string implementations.
internal/xcoffPackage xcoff implements access to XCOFF (Extended Common Object File Format) files.
ioPackage io provides basic interfaces to I/O primitives.
io/fsPackage fs defines basic interfaces to a file system.
io/ioutilPackage ioutil implements some I/O utility functions.
logPackage log implements a simple logging package.
log/syslogPackage syslog provides a simple interface to the system log service.
mathPackage math provides basic constants and mathematical functions.
math/bigPackage big implements arbitrary-precision arithmetic (big numbers).
math/bitsPackage bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
math/cmplxPackage cmplx provides basic constants and mathematical functions for complex numbers.
math/randPackage rand implements pseudo-random number generators.
mimePackage mime implements parts of the MIME spec.
mime/multipartPackage multipart implements MIME multipart parsing, as defined in RFC 2046.
mime/quotedprintablePackage quotedprintable implements quoted-printable encoding as specified by RFC 2045.
netPackage net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
net/httpPackage http provides HTTP client and server implementations.
net/http/cgiPackage cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
net/http/cookiejarPackage cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
net/http/fcgiPackage fcgi implements the FastCGI protocol.
net/http/httptestPackage httptest provides utilities for HTTP testing.
net/http/httptracePackage httptrace provides mechanisms to trace the events within HTTP client requests.
net/http/httputilPackage httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
net/http/internalPackage internal contains HTTP internals shared by net/http and net/http/httputil.
net/http/pprofPackage pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
net/mailPackage mail implements parsing of mail messages.
net/rpcPackage rpc provides access to the exported methods of an object across a network or other I/O connection.
net/rpc/jsonrpcPackage jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package.
net/smtpPackage smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
net/textprotoPackage textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
net/urlPackage url parses URLs and implements query escaping.
osPackage os provides a platform-independent interface to operating system functionality.
os/execPackage exec runs external commands.
os/signalPackage signal implements access to incoming signals.
os/signal/internal/ptyPackage pty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo.
os/userPackage user allows user account lookups by name or id.
pathPackage path implements utility routines for manipulating slash-separated paths.
path/filepathPackage filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
pluginPackage plugin implements loading and symbol resolution of Go plugins.
reflectPackage reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
regexpPackage regexp implements regular expression search.
regexp/syntaxPackage syntax parses regular expressions into parse trees and compiles parse trees into programs.
runtimePackage runtime contains operations that interact with Go's runtime system, such as functions to control goroutines.
runtime/cgoPackage cgo contains runtime support for code generated by the cgo tool.
runtime/debugPackage debug contains facilities for programs to debug themselves while they are running.
runtime/pprofPackage pprof writes runtime profiling data in the format expected by the pprof visualization tool.
runtime/racePackage race implements data race detection logic.
runtime/tracePackage trace contains facilities for programs to generate traces for the Go execution tracer.
sortPackage sort provides primitives for sorting slices and user-defined collections.
strconvPackage strconv implements conversions to and from string representations of basic data types.
stringsPackage strings implements simple functions to manipulate UTF-8 encoded strings.
syncPackage sync provides basic synchronization primitives such as mutual exclusion locks.
sync/atomicPackage atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.
syscallPackage syscall contains an interface to the low-level operating system primitives.
syscall/jsPackage js gives access to the WebAssembly host environment when using the js/wasm architecture.
testingPackage testing provides support for automated testing of Go packages.
testing/fstestPackage fstest implements support for testing implementations and users of file systems.
testing/internal/testdepsPackage testdeps provides access to dependencies needed by test execution.
testing/iotestPackage iotest implements Readers and Writers useful mainly for testing.
testing/quickPackage quick implements utility functions to help with black box testing.
text/scannerPackage scanner provides a scanner and tokenizer for UTF-8-encoded text.
text/tabwriterPackage tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
text/templatePackage template implements data-driven templates for generating textual output.
text/template/parsePackage parse builds parse trees for templates as defined by text/template and html/template.
timePackage time provides functionality for measuring and displaying time.
time/tzdataPackage tzdata provides an embedded copy of the timezone database.
unicodePackage unicode provides data and functions to test some properties of Unicode code points.
unicode/utf16Package utf16 implements encoding and decoding of UTF-16 sequences.
unicode/utf8Package utf8 implements functions and constants to support text encoded in UTF-8.
unsafePackage unsafe contains operations that step around the type safety of Go programs.

Updated 2021-01-24. Refresh now. Tools for package owners.