Back to godoc.org
github.com/golang/go / src

directory github.com/golang/go/src

v0.0.0 (9e6d3ca)
Latest Go to latest
Published: Oct 17, 2019 | License: BSD-3-Clause | Module: github.com/golang/go
Path Synopsis
archive/tar Package tar implements access to tar archives.
archive/zip Package zip provides support for reading and writing ZIP archives.
bufio 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.
builtin Package builtin provides documentation for Go's predeclared identifiers.
bytes Package bytes implements functions for the manipulation of byte slices.
cmd/addr2line Addr2line is a minimal simulation of the GNU addr2line tool, just enough to support pprof.
cmd/api Binary api computes the exported API of a set of Go packages.
cmd/asm Asm, 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/arch Package arch defines architecture-specific information and support functions.
cmd/asm/internal/asm Package asm implements the parser and instruction generator for the assembler.
cmd/asm/internal/flags Package flags implements top-level flags and the usage message for the assembler.
cmd/asm/internal/lex Package lex implements lexical analysis for the assembler.
cmd/buildid Buildid displays or updates the build ID stored in a Go package or binary.
cmd/cgo Cgo enables the creation of Go packages that call C code.
cmd/compile Compile, typically invoked as “go tool compile,” compiles a single Go package comprising the files named on the command line.
cmd/compile/internal/amd64
cmd/compile/internal/arm
cmd/compile/internal/arm64
cmd/compile/internal/gc
cmd/compile/internal/mips
cmd/compile/internal/mips64
cmd/compile/internal/ppc64
cmd/compile/internal/s390x
cmd/compile/internal/ssa
cmd/compile/internal/syntax
cmd/compile/internal/test
cmd/compile/internal/types
cmd/compile/internal/wasm
cmd/compile/internal/x86
cmd/cover Cover is a program for analyzing the coverage profiles generated by 'go test -coverprofile=cover.out'.
cmd/dist Dist helps bootstrap, build, and test the Go distribution.
cmd/doc Doc (usually run as go doc) accepts zero, one or two arguments.
cmd/fix Fix finds Go programs that use old APIs and rewrites them to use newer ones.
cmd/go Go is a tool for managing Go source code.
cmd/go/internal/base Package base defines shared basic pieces of the go command, in particular logging and the Command structure.
cmd/go/internal/bug Package bug implements the “go bug” command.
cmd/go/internal/cache Package cache implements a build artifact cache.
cmd/go/internal/cfg Package cfg holds configuration shared by multiple parts of the go command.
cmd/go/internal/clean Package clean implements the “go clean” command.
cmd/go/internal/cmdflag Package cmdflag handles flag processing common to several go tools.
cmd/go/internal/dirhash Package dirhash defines hashes over directory trees.
cmd/go/internal/doc Package doc implements the “go doc” command.
cmd/go/internal/envcmd Package envcmd implements the “go env” command.
cmd/go/internal/fix Package fix implements the “go fix” command.
cmd/go/internal/fmtcmd Package fmtcmd implements the “go fmt” command.
cmd/go/internal/generate Package generate implements the “go generate” command.
cmd/go/internal/get Package get implements the “go get” command.
cmd/go/internal/help Package help implements the “go help” command.
cmd/go/internal/imports
cmd/go/internal/list Package list implements the “go list” command.
cmd/go/internal/load Package load loads packages.
cmd/go/internal/lockedfile Package lockedfile creates and manipulates files whose contents should only change atomically.
cmd/go/internal/lockedfile/internal/filelock Package filelock provides a platform-independent API for advisory file locking.
cmd/go/internal/modcmd Package modcmd implements the “go mod” command.
cmd/go/internal/modconv
cmd/go/internal/modfetch
cmd/go/internal/modfetch/codehost Package codehost defines the interface implemented by a code hosting source, along with support code for use by implementations.
cmd/go/internal/modfile
cmd/go/internal/modget Package modget implements the module-aware “go get” command.
cmd/go/internal/modinfo
cmd/go/internal/modload
cmd/go/internal/module Package module defines the module.Version type along with support code.
cmd/go/internal/mvs Package mvs implements Minimal Version Selection.
cmd/go/internal/par Package par implements parallel execution helpers.
cmd/go/internal/renameio Package renameio writes files atomically by renaming temporary files.
cmd/go/internal/run Package run implements the “go run” command.
cmd/go/internal/search
cmd/go/internal/semver Package semver implements comparison of semantic version strings.
cmd/go/internal/str Package str provides string manipulation utilities.
cmd/go/internal/test
cmd/go/internal/tool Package tool implements the “go tool” command.
cmd/go/internal/txtar Package txtar implements a trivial text-based file archive format.
cmd/go/internal/version Package version implements the “go version” command.
cmd/go/internal/vet Package vet implements the “go vet” command.
cmd/go/internal/web Package web defines helper routines for accessing HTTP/HTTPS resources.
cmd/go/internal/web2
cmd/go/internal/webtest
cmd/go/internal/work
cmd/gofmt Gofmt formats Go programs.
cmd/internal/bio Package bio implements common I/O abstractions used within the Go toolchain.
cmd/internal/browser Package browser provides utilities for interacting with users' browsers.
cmd/internal/buildid
cmd/internal/dwarf Package dwarf generates DWARF debugging information.
cmd/internal/edit Package edit implements buffered position-based editing of byte slices.
cmd/internal/gcprog Package gcprog implements an encoder for packed GC pointer bitmaps, known as GC programs.
cmd/internal/goobj Package goobj implements reading of Go object files and archives.
cmd/internal/obj
cmd/internal/obj/arm
cmd/internal/obj/arm64 Package arm64 implements an ARM64 assembler.
cmd/internal/obj/mips
cmd/internal/obj/ppc64
cmd/internal/obj/s390x
cmd/internal/obj/wasm
cmd/internal/obj/x86
cmd/internal/objabi Originally, Go object files were Plan 9 object files, but no longer.
cmd/internal/objfile Package objfile implements portable access to OS-specific executable files.
cmd/internal/src
cmd/internal/sys
cmd/internal/test2json Package test2json implements conversion of test binary output to JSON.
cmd/link Link, 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/amd64
cmd/link/internal/arm
cmd/link/internal/arm64
cmd/link/internal/ld
cmd/link/internal/loadelf Package loadelf implements an ELF file reader.
cmd/link/internal/loadmacho Package loadmacho implements a Mach-O file reader.
cmd/link/internal/loadpe Package loadpe implements a PE/COFF file reader.
cmd/link/internal/loadxcoff Package loadxcoff implements a XCOFF file reader.
cmd/link/internal/mips
cmd/link/internal/mips64
cmd/link/internal/objfile Package objfile reads Go object files for the Go linker, cmd/link.
cmd/link/internal/ppc64
cmd/link/internal/s390x
cmd/link/internal/sym
cmd/link/internal/wasm
cmd/link/internal/x86
cmd/nm Nm lists the symbols defined or used by an object file, archive, or executable.
cmd/objdump Objdump disassembles executable files.
cmd/pack Pack is a simple version of the traditional Unix ar tool.
cmd/pprof Pprof interprets and displays profiles of Go programs.
cmd/test2json Test2json converts go test output to a machine-readable JSON stream.
cmd/trace Trace is a tool for viewing trace files.
cmd/vet Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.
compress/bzip2 Package bzip2 implements bzip2 decompression.
compress/flate Package flate implements the DEFLATE compressed data format, described in RFC 1951.
compress/gzip Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
compress/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.
compress/zlib 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.
container/list Package list implements a doubly linked list.
container/ring Package ring implements operations on circular lists.
context Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
crypto Package crypto collects common cryptographic constants.
crypto/aes Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
crypto/cipher Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
crypto/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.
crypto/dsa Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
crypto/ecdsa Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-3.
crypto/elliptic Package elliptic implements several standard elliptic curves over prime fields.
crypto/hmac Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
crypto/internal/randutil Package randutil contains internal randomness utilities for various crypto packages.
crypto/internal/subtle Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
crypto/md5 Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
crypto/rand Package rand implements a cryptographically secure random number generator.
crypto/rc4 Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
crypto/rsa Package rsa implements RSA encryption as specified in PKCS#1.
crypto/sha1 Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
crypto/sha256 Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
crypto/sha512 Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
crypto/subtle Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
crypto/tls Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
crypto/x509 Package x509 parses X.509-encoded keys and certificates.
crypto/x509/pkix 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.
database/sql/driver Package driver defines interfaces to be implemented by database drivers as used by package sql.
debug/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
debug/elf Package elf implements access to ELF object files.
debug/gosym Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
debug/macho Package macho implements access to Mach-O object files.
debug/pe Package pe implements access to PE (Microsoft Windows Portable Executable) files.
debug/plan9obj Package plan9obj implements access to Plan 9 a.out object files.
encoding Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
encoding/ascii85 Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
encoding/asn1 Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
encoding/base32 Package base32 implements base32 encoding as specified by RFC 4648.
encoding/base64 Package base64 implements base64 encoding as specified by RFC 4648.
encoding/binary Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
encoding/csv Package csv reads and writes comma-separated values (CSV) files.
encoding/gob Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
encoding/hex Package hex implements hexadecimal encoding and decoding.
encoding/json Package json implements encoding and decoding of JSON as defined in RFC 7159.
encoding/pem Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
encoding/xml Package xml implements a simple XML 1.0 parser that understands XML name spaces.
errors Package errors implements functions to manipulate errors.
expvar Package expvar provides a standardized interface to public variables, such as operation counters in servers.
flag Package flag implements command-line flag parsing.
fmt 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.
go/build Package build gathers information about Go packages.
go/constant Package constant implements Values representing untyped Go constants and their corresponding operations.
go/doc Package doc extracts source code documentation from a Go AST.
go/format Package format implements standard formatting of Go source.
go/importer Package importer provides access to export data importers.
go/internal/gccgoimporter Package gccgoimporter implements Import for gccgo-generated object files.
go/internal/gcimporter Package gcimporter implements Import for gc-generated object files.
go/internal/srcimporter Package srcimporter implements importing directly from source files rather than installed packages.
go/parser Package parser implements a parser for Go source files.
go/printer Package printer implements printing of AST nodes.
go/scanner Package scanner implements a scanner for Go source text.
go/token Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
go/types Package types declares the data types and implements the algorithms for type-checking of Go packages.
hash Package hash provides interfaces for hash functions.
hash/adler32 Package adler32 implements the Adler-32 checksum.
hash/crc32 Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
hash/crc64 Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
hash/fnv Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
html Package html provides functions for escaping and unescaping HTML text.
html/template Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
image Package image implements a basic 2-D image library.
image/color Package color implements a basic color library.
image/color/palette Package palette provides standard color palettes.
image/draw Package draw provides image composition functions.
image/gif Package gif implements a GIF image decoder and encoder.
image/internal/imageutil Package imageutil contains code shared by image-related packages.
image/jpeg Package jpeg implements a JPEG image decoder and encoder.
image/png 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.
internal/bytealg
internal/cpu Package cpu implements processor feature detection used by the Go standard library.
internal/fmtsort Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
internal/goroot
internal/nettrace Package nettrace contains internal hooks for tracing activity in the net package.
internal/poll Package poll supports non-blocking I/O on file descriptors with polling.
internal/race Package race contains helper functions for manually instrumenting code for the race detector.
internal/singleflight Package singleflight provides a duplicate function call suppression mechanism.
internal/syscall/unix
internal/syscall/windows
internal/syscall/windows/registry
internal/syscall/windows/sysdll Package sysdll is an internal leaf package that records and reports which Windows DLL names are used by Go itself.
internal/testenv Package testenv provides information about what functionality is available in different testing environments run by the Go team.
internal/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.
internal/trace
internal/x/crypto/chacha20poly1305 Package chacha20poly1305 implements the ChaCha20-Poly1305 AEAD as specified in RFC 7539.
internal/x/crypto/cryptobyte Package cryptobyte contains types that help with parsing and constructing length-prefixed, binary messages, including ASN.1 DER.
internal/x/crypto/cryptobyte/asn1 Package asn1 contains supporting types for parsing and building ASN.1 messages with the cryptobyte package.
internal/x/crypto/curve25519 Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
internal/x/crypto/hkdf Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869.
internal/x/crypto/internal/chacha20 Package ChaCha20 implements the core ChaCha20 function as specified in https://tools.ietf.org/html/rfc7539#section-2.3.
internal/x/crypto/poly1305 Package poly1305 implements Poly1305 one-time message authentication code as specified in https://cr.yp.to/mac/poly1305-20050329.pdf.
internal/x/net/dns/dnsmessage Package dnsmessage provides a mostly RFC 1035 compliant implementation of DNS message packing and unpacking.
internal/x/net/http/httpguts Package httpguts provides functions implementing various details of the HTTP specification.
internal/x/net/http/httpproxy Package httpproxy provides support for HTTP proxy determination based on environment variables, as provided by net/http's ProxyFromEnvironment function.
internal/x/net/http2/hpack Package hpack implements HPACK, a compression format for efficiently representing HTTP header fields in the context of HTTP/2.
internal/x/net/idna Package idna implements IDNA2008 using the compatibility processing defined by UTS (Unicode Technical Standard) #46, which defines a standard to deal with the transition from IDNA2003.
internal/x/net/internal/nettest Package nettest provides utilities for network testing.
internal/x/net/nettest Package nettest provides utilities for network testing.
internal/x/net/route Package route provides basic functions for the manipulation of packet routing facilities on BSD variants.
internal/x/text/secure secure is a repository of text security related packages.
internal/x/text/secure/bidirule Package bidirule implements the Bidi Rule defined by RFC 5893.
internal/x/text/transform Package transform provides reader and writer wrappers that transform the bytes passing through as well as various transformations.
internal/x/text/unicode unicode holds packages with implementations of Unicode standards that are mostly used as building blocks for other packages in internal/x/text, layout engines, or are otherwise more low-level in nature.
internal/x/text/unicode/bidi Package bidi contains functionality for bidirectional text support.
internal/x/text/unicode/norm Package norm contains types and functions for normalizing Unicode strings.
internal/xcoff Package xcoff implements access to XCOFF (Extended Common Object File Format) files.
io Package io provides basic interfaces to I/O primitives.
io/ioutil Package ioutil implements some I/O utility functions.
log Package log implements a simple logging package.
log/syslog Package syslog provides a simple interface to the system log service.
math Package math provides basic constants and mathematical functions.
math/big Package big implements arbitrary-precision arithmetic (big numbers).
math/bits Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
math/cmplx Package cmplx provides basic constants and mathematical functions for complex numbers.
math/rand Package rand implements pseudo-random number generators.
mime Package mime implements parts of the MIME spec.
mime/multipart Package multipart implements MIME multipart parsing, as defined in RFC 2046.
mime/quotedprintable Package quotedprintable implements quoted-printable encoding as specified by RFC 2045.
net Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
net/http Package http provides HTTP client and server implementations.
net/http/cgi Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
net/http/cookiejar Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
net/http/fcgi Package fcgi implements the FastCGI protocol.
net/http/httptest Package httptest provides utilities for HTTP testing.
net/http/httptrace Package httptrace provides mechanisms to trace the events within HTTP client requests.
net/http/httputil Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
net/http/internal Package internal contains HTTP internals shared by net/http and net/http/httputil.
net/http/pprof Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
net/internal/socktest Package socktest provides utilities for socket testing.
net/mail Package mail implements parsing of mail messages.
net/rpc Package rpc provides access to the exported methods of an object across a network or other I/O connection.
net/rpc/jsonrpc Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package.
net/smtp Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
net/textproto Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
net/url Package url parses URLs and implements query escaping.
os Package os provides a platform-independent interface to operating system functionality.
os/exec Package exec runs external commands.
os/signal Package signal implements access to incoming signals.
os/signal/internal/pty Package pty is a simple pseudo-terminal package for Unix systems, implemented by calling C functions via cgo.
os/user Package user allows user account lookups by name or id.
path Package path implements utility routines for manipulating slash-separated paths.
path/filepath Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
plugin Package plugin implements loading and symbol resolution of Go plugins.
reflect Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
regexp Package regexp implements regular expression search.
regexp/syntax Package syntax parses regular expressions into parse trees and compiles parse trees into programs.
runtime Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines.
runtime/cgo Package cgo contains runtime support for code generated by the cgo tool.
runtime/debug Package debug contains facilities for programs to debug themselves while they are running.
runtime/internal/atomic
runtime/internal/math
runtime/internal/sys package sys contains system- and configuration- and architecture-specific constants used by the runtime.
runtime/pprof Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
runtime/pprof/internal/profile Package profile provides a representation of profile.proto and methods to encode/decode profiles in this format.
runtime/race Package race implements data race detection logic.
runtime/trace Package trace contains facilities for programs to generate traces for the Go execution tracer.
sort Package sort provides primitives for sorting slices and user-defined collections.
strconv Package strconv implements conversions to and from string representations of basic data types.
strings Package strings implements simple functions to manipulate UTF-8 encoded strings.
sync Package sync provides basic synchronization primitives such as mutual exclusion locks.
sync/atomic Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.
syscall Package syscall contains an interface to the low-level operating system primitives.
syscall/js Package js gives access to the WebAssembly host environment when using the js/wasm architecture.
testing Package testing provides support for automated testing of Go packages.
testing/internal/testdeps Package testdeps provides access to dependencies needed by test execution.
testing/iotest Package iotest implements Readers and Writers useful mainly for testing.
testing/quick Package quick implements utility functions to help with black box testing.
text/scanner Package scanner provides a scanner and tokenizer for UTF-8-encoded text.
text/tabwriter Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
text/template Package template implements data-driven templates for generating textual output.
text/template/parse Package parse builds parse trees for templates as defined by text/template and html/template.
time Package time provides functionality for measuring and displaying time.
unicode Package unicode provides data and functions to test some properties of Unicode code points.
unicode/utf16 Package utf16 implements encoding and decoding of UTF-16 sequences.
unicode/utf8 Package utf8 implements functions and constants to support text encoded in UTF-8.
unsafe Package unsafe contains operations that step around the type safety of Go programs.