go: github.com/golang/go

Directories

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

Updated 2019-09-22. Refresh now. Tools for package owners.