ref: f74ef2d6fc0188c94e824879883a4e5477ca82fe
dir: /js/godoc/pkg.html/
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#00ADD8">
<title>Packages - The Go Programming Language</title>
<link href="https://fonts.googleapis.com/css?family=Work+Sans:600|Roboto:400,700" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Product+Sans&text=Supported%20by%20Google&display=swap" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="/lib/godoc/style.css">
<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="/opensearch.xml" />
<script>window.initFuncs = [];</script>
<script>
var _gaq = _gaq || [];
_gaq.push(["_setAccount", "UA-11222381-2"]);
window.trackPageview = function() {
_gaq.push(["_trackPageview", location.pathname+location.hash]);
};
window.trackPageview();
window.trackEvent = function(category, action, opt_label, opt_value, opt_noninteraction) {
_gaq.push(["_trackEvent", category, action, opt_label, opt_value, opt_noninteraction]);
};
</script>
<script src="/lib/godoc/jquery.js" defer></script>
<script src="/lib/godoc/playground.js" defer></script>
<script>var goVersion = "go1.15.6";</script>
<script src="/lib/godoc/godocs.js" defer></script>
<body class="Site">
<header class="Header js-header">
<div class="Header-banner">
Black Lives Matter.
<a href="https://support.eji.org/give/153413/#!/donation/checkout"
target="_blank"
rel="noopener">Support the Equal Justice Initiative.</a>
</div>
<nav class="Header-nav Header-nav--wide">
<a href="/"><img class="Header-logo" src="/lib/godoc/images/go-logo-blue.svg" alt="Go"></a>
<button class="Header-menuButton js-headerMenuButton" aria-label="Main menu" aria-expanded="false">
<div class="Header-menuButtonInner"></div>
</button>
<ul class="Header-menu">
<li class="Header-menuItem"><a href="/doc/">Documents</a></li>
<li class="Header-menuItem"><a href="/pkg/">Packages</a></li>
<li class="Header-menuItem"><a href="/project/">The Project</a></li>
<li class="Header-menuItem"><a href="/help/">Help</a></li>
<li class="Header-menuItem"><a href="/blog/">Blog</a></li>
<li class="Header-menuItem"><a href="https://play.golang.org/">Play</a></li>
<li class="Header-menuItem Header-menuItem--search">
<form class="HeaderSearch" role="search" action="/search">
<input class="HeaderSearch-input"
type="search"
name="q"
placeholder="Search"
aria-label="Search"
autocapitalize="off"
autocomplete="off"
autocorrect="off"
spellcheck="false"
required>
<button class="HeaderSearch-submit">
<!-- magnifying glass: --><svg class="HeaderSearch-icon" width="24" height="24" viewBox="0 0 24 24"><title>Search</title><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
</button>
</form>
</li>
</ul>
</nav>
</header>
<main id="page" class="Site-content wide">
<div class="container">
<h1>
Packages
<span class="text-muted"></span>
</h1>
<div id="nav"></div>
<!--
Copyright 2018 The Go Authors. All rights reserved.
Use of this source code is governed by a BSD-style
license that can be found in the LICENSE file.
-->
<!--
Note: Static (i.e., not template-generated) href and id
attributes start with "pkg-" to make it impossible for
them to conflict with generated attributes (some of which
correspond to Go identifiers).
-->
<div id="manual-nav">
<dl>
<dt><a href="#stdlib">Standard library</a></dt>
<dt><a href="#other">Other packages</a></dt>
<dd><a href="#subrepo">Sub-repositories</a></dd>
<dd><a href="#community">Community</a></dd>
</dl>
</div>
<div id="stdlib" class="toggleVisible">
<div class="collapsed">
<h2 class="toggleButton" title="Click to show Standard library section">Standard library ▹</h2>
</div>
<div class="expanded">
<h2 class="toggleButton" title="Click to hide Standard library section">Standard library ▾</h2>
<img alt="" class="gopher" src="/doc/gopher/pkg.png"/>
<div class="pkg-dir">
<table>
<tr>
<th class="pkg-name">Name</th>
<th class="pkg-synopsis">Synopsis</th>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="archive/">archive</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="archive/tar/">tar</a>
</td>
<td class="pkg-synopsis">
Package tar implements access to tar archives.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="archive/zip/">zip</a>
</td>
<td class="pkg-synopsis">
Package zip provides support for reading and writing ZIP archives.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="bufio/">bufio</a>
</td>
<td class="pkg-synopsis">
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.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="builtin/">builtin</a>
</td>
<td class="pkg-synopsis">
Package builtin provides documentation for Go's predeclared identifiers.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="bytes/">bytes</a>
</td>
<td class="pkg-synopsis">
Package bytes implements functions for the manipulation of byte slices.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="compress/">compress</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="compress/bzip2/">bzip2</a>
</td>
<td class="pkg-synopsis">
Package bzip2 implements bzip2 decompression.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="compress/flate/">flate</a>
</td>
<td class="pkg-synopsis">
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="compress/gzip/">gzip</a>
</td>
<td class="pkg-synopsis">
Package gzip implements reading and writing of gzip format compressed files, as specified in RFC 1952.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="compress/lzw/">lzw</a>
</td>
<td class="pkg-synopsis">
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.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="compress/zlib/">zlib</a>
</td>
<td class="pkg-synopsis">
Package zlib implements reading and writing of zlib format compressed data, as specified in RFC 1950.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="container/">container</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="container/heap/">heap</a>
</td>
<td class="pkg-synopsis">
Package heap provides heap operations for any type that implements heap.Interface.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="container/list/">list</a>
</td>
<td class="pkg-synopsis">
Package list implements a doubly linked list.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="container/ring/">ring</a>
</td>
<td class="pkg-synopsis">
Package ring implements operations on circular lists.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="context/">context</a>
</td>
<td class="pkg-synopsis">
Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="crypto/">crypto</a>
</td>
<td class="pkg-synopsis">
Package crypto collects common cryptographic constants.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/aes/">aes</a>
</td>
<td class="pkg-synopsis">
Package aes implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/cipher/">cipher</a>
</td>
<td class="pkg-synopsis">
Package cipher implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/des/">des</a>
</td>
<td class="pkg-synopsis">
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.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/dsa/">dsa</a>
</td>
<td class="pkg-synopsis">
Package dsa implements the Digital Signature Algorithm, as defined in FIPS 186-3.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/ecdsa/">ecdsa</a>
</td>
<td class="pkg-synopsis">
Package ecdsa implements the Elliptic Curve Digital Signature Algorithm, as defined in FIPS 186-3.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/ed25519/">ed25519</a>
</td>
<td class="pkg-synopsis">
Package ed25519 implements the Ed25519 signature algorithm.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/elliptic/">elliptic</a>
</td>
<td class="pkg-synopsis">
Package elliptic implements several standard elliptic curves over prime fields.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/hmac/">hmac</a>
</td>
<td class="pkg-synopsis">
Package hmac implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/md5/">md5</a>
</td>
<td class="pkg-synopsis">
Package md5 implements the MD5 hash algorithm as defined in RFC 1321.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/rand/">rand</a>
</td>
<td class="pkg-synopsis">
Package rand implements a cryptographically secure random number generator.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/rc4/">rc4</a>
</td>
<td class="pkg-synopsis">
Package rc4 implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/rsa/">rsa</a>
</td>
<td class="pkg-synopsis">
Package rsa implements RSA encryption as specified in PKCS #1 and RFC 8017.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/sha1/">sha1</a>
</td>
<td class="pkg-synopsis">
Package sha1 implements the SHA-1 hash algorithm as defined in RFC 3174.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/sha256/">sha256</a>
</td>
<td class="pkg-synopsis">
Package sha256 implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-4.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/sha512/">sha512</a>
</td>
<td class="pkg-synopsis">
Package sha512 implements the SHA-384, SHA-512, SHA-512/224, and SHA-512/256 hash algorithms as defined in FIPS 180-4.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/subtle/">subtle</a>
</td>
<td class="pkg-synopsis">
Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/tls/">tls</a>
</td>
<td class="pkg-synopsis">
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="crypto/x509/">x509</a>
</td>
<td class="pkg-synopsis">
Package x509 parses X.509-encoded keys and certificates.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="crypto/x509/pkix/">pkix</a>
</td>
<td class="pkg-synopsis">
Package pkix contains shared, low level structures used for ASN.1 parsing and serialization of X.509 certificates, CRL and OCSP.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="database/">database</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="database/sql/">sql</a>
</td>
<td class="pkg-synopsis">
Package sql provides a generic interface around SQL (or SQL-like) databases.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="database/sql/driver/">driver</a>
</td>
<td class="pkg-synopsis">
Package driver defines interfaces to be implemented by database drivers as used by package sql.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="debug/">debug</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/dwarf/">dwarf</a>
</td>
<td class="pkg-synopsis">
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
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/elf/">elf</a>
</td>
<td class="pkg-synopsis">
Package elf implements access to ELF object files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/gosym/">gosym</a>
</td>
<td class="pkg-synopsis">
Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/macho/">macho</a>
</td>
<td class="pkg-synopsis">
Package macho implements access to Mach-O object files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/pe/">pe</a>
</td>
<td class="pkg-synopsis">
Package pe implements access to PE (Microsoft Windows Portable Executable) files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="debug/plan9obj/">plan9obj</a>
</td>
<td class="pkg-synopsis">
Package plan9obj implements access to Plan 9 a.out object files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="encoding/">encoding</a>
</td>
<td class="pkg-synopsis">
Package encoding defines interfaces shared by other packages that convert data to and from byte-level and textual representations.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/ascii85/">ascii85</a>
</td>
<td class="pkg-synopsis">
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/asn1/">asn1</a>
</td>
<td class="pkg-synopsis">
Package asn1 implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/base32/">base32</a>
</td>
<td class="pkg-synopsis">
Package base32 implements base32 encoding as specified by RFC 4648.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/base64/">base64</a>
</td>
<td class="pkg-synopsis">
Package base64 implements base64 encoding as specified by RFC 4648.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/binary/">binary</a>
</td>
<td class="pkg-synopsis">
Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/csv/">csv</a>
</td>
<td class="pkg-synopsis">
Package csv reads and writes comma-separated values (CSV) files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/gob/">gob</a>
</td>
<td class="pkg-synopsis">
Package gob manages streams of gobs - binary values exchanged between an Encoder (transmitter) and a Decoder (receiver).
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/hex/">hex</a>
</td>
<td class="pkg-synopsis">
Package hex implements hexadecimal encoding and decoding.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/json/">json</a>
</td>
<td class="pkg-synopsis">
Package json implements encoding and decoding of JSON as defined in RFC 7159.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/pem/">pem</a>
</td>
<td class="pkg-synopsis">
Package pem implements the PEM data encoding, which originated in Privacy Enhanced Mail.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="encoding/xml/">xml</a>
</td>
<td class="pkg-synopsis">
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="errors/">errors</a>
</td>
<td class="pkg-synopsis">
Package errors implements functions to manipulate errors.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="expvar/">expvar</a>
</td>
<td class="pkg-synopsis">
Package expvar provides a standardized interface to public variables, such as operation counters in servers.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="flag/">flag</a>
</td>
<td class="pkg-synopsis">
Package flag implements command-line flag parsing.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="fmt/">fmt</a>
</td>
<td class="pkg-synopsis">
Package fmt implements formatted I/O with functions analogous to C's printf and scanf.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="go/">go</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/ast/">ast</a>
</td>
<td class="pkg-synopsis">
Package ast declares the types used to represent syntax trees for Go packages.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/build/">build</a>
</td>
<td class="pkg-synopsis">
Package build gathers information about Go packages.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/constant/">constant</a>
</td>
<td class="pkg-synopsis">
Package constant implements Values representing untyped Go constants and their corresponding operations.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/doc/">doc</a>
</td>
<td class="pkg-synopsis">
Package doc extracts source code documentation from a Go AST.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/format/">format</a>
</td>
<td class="pkg-synopsis">
Package format implements standard formatting of Go source.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/importer/">importer</a>
</td>
<td class="pkg-synopsis">
Package importer provides access to export data importers.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/parser/">parser</a>
</td>
<td class="pkg-synopsis">
Package parser implements a parser for Go source files.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/printer/">printer</a>
</td>
<td class="pkg-synopsis">
Package printer implements printing of AST nodes.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/scanner/">scanner</a>
</td>
<td class="pkg-synopsis">
Package scanner implements a scanner for Go source text.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/token/">token</a>
</td>
<td class="pkg-synopsis">
Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="go/types/">types</a>
</td>
<td class="pkg-synopsis">
Package types declares the data types and implements the algorithms for type-checking of Go packages.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="hash/">hash</a>
</td>
<td class="pkg-synopsis">
Package hash provides interfaces for hash functions.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="hash/adler32/">adler32</a>
</td>
<td class="pkg-synopsis">
Package adler32 implements the Adler-32 checksum.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="hash/crc32/">crc32</a>
</td>
<td class="pkg-synopsis">
Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="hash/crc64/">crc64</a>
</td>
<td class="pkg-synopsis">
Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="hash/fnv/">fnv</a>
</td>
<td class="pkg-synopsis">
Package fnv implements FNV-1 and FNV-1a, non-cryptographic hash functions created by Glenn Fowler, Landon Curt Noll, and Phong Vo.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="hash/maphash/">maphash</a>
</td>
<td class="pkg-synopsis">
Package maphash provides hash functions on byte sequences.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="html/">html</a>
</td>
<td class="pkg-synopsis">
Package html provides functions for escaping and unescaping HTML text.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="html/template/">template</a>
</td>
<td class="pkg-synopsis">
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="image/">image</a>
</td>
<td class="pkg-synopsis">
Package image implements a basic 2-D image library.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="image/color/">color</a>
</td>
<td class="pkg-synopsis">
Package color implements a basic color library.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="image/color/palette/">palette</a>
</td>
<td class="pkg-synopsis">
Package palette provides standard color palettes.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="image/draw/">draw</a>
</td>
<td class="pkg-synopsis">
Package draw provides image composition functions.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="image/gif/">gif</a>
</td>
<td class="pkg-synopsis">
Package gif implements a GIF image decoder and encoder.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="image/jpeg/">jpeg</a>
</td>
<td class="pkg-synopsis">
Package jpeg implements a JPEG image decoder and encoder.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="image/png/">png</a>
</td>
<td class="pkg-synopsis">
Package png implements a PNG image decoder and encoder.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="index/">index</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="index/suffixarray/">suffixarray</a>
</td>
<td class="pkg-synopsis">
Package suffixarray implements substring search in logarithmic time using an in-memory suffix array.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="io/">io</a>
</td>
<td class="pkg-synopsis">
Package io provides basic interfaces to I/O primitives.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="io/ioutil/">ioutil</a>
</td>
<td class="pkg-synopsis">
Package ioutil implements some I/O utility functions.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="log/">log</a>
</td>
<td class="pkg-synopsis">
Package log implements a simple logging package.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="log/syslog/">syslog</a>
</td>
<td class="pkg-synopsis">
Package syslog provides a simple interface to the system log service.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="math/">math</a>
</td>
<td class="pkg-synopsis">
Package math provides basic constants and mathematical functions.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="math/big/">big</a>
</td>
<td class="pkg-synopsis">
Package big implements arbitrary-precision arithmetic (big numbers).
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="math/bits/">bits</a>
</td>
<td class="pkg-synopsis">
Package bits implements bit counting and manipulation functions for the predeclared unsigned integer types.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="math/cmplx/">cmplx</a>
</td>
<td class="pkg-synopsis">
Package cmplx provides basic constants and mathematical functions for complex numbers.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="math/rand/">rand</a>
</td>
<td class="pkg-synopsis">
Package rand implements pseudo-random number generators.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="mime/">mime</a>
</td>
<td class="pkg-synopsis">
Package mime implements parts of the MIME spec.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="mime/multipart/">multipart</a>
</td>
<td class="pkg-synopsis">
Package multipart implements MIME multipart parsing, as defined in RFC 2046.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="mime/quotedprintable/">quotedprintable</a>
</td>
<td class="pkg-synopsis">
Package quotedprintable implements quoted-printable encoding as specified by RFC 2045.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="net/">net</a>
</td>
<td class="pkg-synopsis">
Package net provides a portable interface for network I/O, including TCP/IP, UDP, domain name resolution, and Unix domain sockets.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/http/">http</a>
</td>
<td class="pkg-synopsis">
Package http provides HTTP client and server implementations.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/cgi/">cgi</a>
</td>
<td class="pkg-synopsis">
Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/cookiejar/">cookiejar</a>
</td>
<td class="pkg-synopsis">
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/fcgi/">fcgi</a>
</td>
<td class="pkg-synopsis">
Package fcgi implements the FastCGI protocol.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/httptest/">httptest</a>
</td>
<td class="pkg-synopsis">
Package httptest provides utilities for HTTP testing.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/httptrace/">httptrace</a>
</td>
<td class="pkg-synopsis">
Package httptrace provides mechanisms to trace the events within HTTP client requests.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/httputil/">httputil</a>
</td>
<td class="pkg-synopsis">
Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/http/pprof/">pprof</a>
</td>
<td class="pkg-synopsis">
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/mail/">mail</a>
</td>
<td class="pkg-synopsis">
Package mail implements parsing of mail messages.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/rpc/">rpc</a>
</td>
<td class="pkg-synopsis">
Package rpc provides access to the exported methods of an object across a network or other I/O connection.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="net/rpc/jsonrpc/">jsonrpc</a>
</td>
<td class="pkg-synopsis">
Package jsonrpc implements a JSON-RPC 1.0 ClientCodec and ServerCodec for the rpc package.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/smtp/">smtp</a>
</td>
<td class="pkg-synopsis">
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/textproto/">textproto</a>
</td>
<td class="pkg-synopsis">
Package textproto implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="net/url/">url</a>
</td>
<td class="pkg-synopsis">
Package url parses URLs and implements query escaping.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="os/">os</a>
</td>
<td class="pkg-synopsis">
Package os provides a platform-independent interface to operating system functionality.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="os/exec/">exec</a>
</td>
<td class="pkg-synopsis">
Package exec runs external commands.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="os/signal/">signal</a>
</td>
<td class="pkg-synopsis">
Package signal implements access to incoming signals.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="os/user/">user</a>
</td>
<td class="pkg-synopsis">
Package user allows user account lookups by name or id.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="path/">path</a>
</td>
<td class="pkg-synopsis">
Package path implements utility routines for manipulating slash-separated paths.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="path/filepath/">filepath</a>
</td>
<td class="pkg-synopsis">
Package filepath implements utility routines for manipulating filename paths in a way compatible with the target operating system-defined file paths.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="plugin/">plugin</a>
</td>
<td class="pkg-synopsis">
Package plugin implements loading and symbol resolution of Go plugins.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="reflect/">reflect</a>
</td>
<td class="pkg-synopsis">
Package reflect implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="regexp/">regexp</a>
</td>
<td class="pkg-synopsis">
Package regexp implements regular expression search.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="regexp/syntax/">syntax</a>
</td>
<td class="pkg-synopsis">
Package syntax parses regular expressions into parse trees and compiles parse trees into programs.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="runtime/">runtime</a>
</td>
<td class="pkg-synopsis">
Package runtime contains operations that interact with Go's runtime system, such as functions to control goroutines.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/cgo/">cgo</a>
</td>
<td class="pkg-synopsis">
Package cgo contains runtime support for code generated by the cgo tool.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/debug/">debug</a>
</td>
<td class="pkg-synopsis">
Package debug contains facilities for programs to debug themselves while they are running.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/msan/">msan</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/pprof/">pprof</a>
</td>
<td class="pkg-synopsis">
Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/race/">race</a>
</td>
<td class="pkg-synopsis">
Package race implements data race detection logic.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="runtime/trace/">trace</a>
</td>
<td class="pkg-synopsis">
Package trace contains facilities for programs to generate traces for the Go execution tracer.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="sort/">sort</a>
</td>
<td class="pkg-synopsis">
Package sort provides primitives for sorting slices and user-defined collections.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="strconv/">strconv</a>
</td>
<td class="pkg-synopsis">
Package strconv implements conversions to and from string representations of basic data types.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="strings/">strings</a>
</td>
<td class="pkg-synopsis">
Package strings implements simple functions to manipulate UTF-8 encoded strings.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="sync/">sync</a>
</td>
<td class="pkg-synopsis">
Package sync provides basic synchronization primitives such as mutual exclusion locks.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="sync/atomic/">atomic</a>
</td>
<td class="pkg-synopsis">
Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="syscall/">syscall</a>
</td>
<td class="pkg-synopsis">
Package syscall contains an interface to the low-level operating system primitives.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="syscall/js/">js</a>
</td>
<td class="pkg-synopsis">
Package js gives access to the WebAssembly host environment when using the js/wasm architecture.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="testing/">testing</a>
</td>
<td class="pkg-synopsis">
Package testing provides support for automated testing of Go packages.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="testing/iotest/">iotest</a>
</td>
<td class="pkg-synopsis">
Package iotest implements Readers and Writers useful mainly for testing.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="testing/quick/">quick</a>
</td>
<td class="pkg-synopsis">
Package quick implements utility functions to help with black box testing.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="text/">text</a>
</td>
<td class="pkg-synopsis">
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="text/scanner/">scanner</a>
</td>
<td class="pkg-synopsis">
Package scanner provides a scanner and tokenizer for UTF-8-encoded text.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="text/tabwriter/">tabwriter</a>
</td>
<td class="pkg-synopsis">
Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="text/template/">template</a>
</td>
<td class="pkg-synopsis">
Package template implements data-driven templates for generating textual output.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 40px;">
<a href="text/template/parse/">parse</a>
</td>
<td class="pkg-synopsis">
Package parse builds parse trees for templates as defined by text/template and html/template.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="time/">time</a>
</td>
<td class="pkg-synopsis">
Package time provides functionality for measuring and displaying time.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="time/tzdata/">tzdata</a>
</td>
<td class="pkg-synopsis">
Package tzdata provides an embedded copy of the timezone database.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="unicode/">unicode</a>
</td>
<td class="pkg-synopsis">
Package unicode provides data and functions to test some properties of Unicode code points.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="unicode/utf16/">utf16</a>
</td>
<td class="pkg-synopsis">
Package utf16 implements encoding and decoding of UTF-16 sequences.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 20px;">
<a href="unicode/utf8/">utf8</a>
</td>
<td class="pkg-synopsis">
Package utf8 implements functions and constants to support text encoded in UTF-8.
</td>
</tr>
<tr>
<td class="pkg-name" style="padding-left: 0px;">
<a href="unsafe/">unsafe</a>
</td>
<td class="pkg-synopsis">
Package unsafe contains operations that step around the type safety of Go programs.
</td>
</tr>
</table>
</div> <!-- .pkg-dir -->
</div> <!-- .expanded -->
</div> <!-- #stdlib .toggleVisible -->
<h2 id="other">Other packages</h2>
<h3 id="subrepo">Sub-repositories</h3>
<p>
These packages are part of the Go Project but outside the main Go tree.
They are developed under looser <a href="/doc/go1compat">compatibility requirements</a> than the Go core.
Install them with "<a href="/cmd/go/#hdr-Download_and_install_packages_and_dependencies">go get</a>".
</p>
<ul>
<li><a href="//pkg.go.dev/golang.org/x/benchmarks">benchmarks</a> — benchmarks to measure Go as it is developed.</li>
<li><a href="//pkg.go.dev/golang.org/x/blog">blog</a> — <a href="//blog.golang.org">blog.golang.org</a>'s implementation.</li>
<li><a href="//pkg.go.dev/golang.org/x/build">build</a> — <a href="//build.golang.org">build.golang.org</a>'s implementation.</li>
<li><a href="//pkg.go.dev/golang.org/x/crypto">crypto</a> — additional cryptography packages.</li>
<li><a href="//pkg.go.dev/golang.org/x/debug">debug</a> — an experimental debugger for Go.</li>
<li><a href="//pkg.go.dev/golang.org/x/image">image</a> — additional imaging packages.</li>
<li><a href="//pkg.go.dev/golang.org/x/mobile">mobile</a> — experimental support for Go on mobile platforms.</li>
<li><a href="//pkg.go.dev/golang.org/x/net">net</a> — additional networking packages.</li>
<li><a href="//pkg.go.dev/golang.org/x/perf">perf</a> — packages and tools for performance measurement, storage, and analysis.</li>
<li><a href="//pkg.go.dev/golang.org/x/pkgsite">pkgsite</a> — home of the pkg.go.dev website.</li>
<li><a href="//pkg.go.dev/golang.org/x/review">review</a> — a tool for working with Gerrit code reviews.</li>
<li><a href="//pkg.go.dev/golang.org/x/sync">sync</a> — additional concurrency primitives.</li>
<li><a href="//pkg.go.dev/golang.org/x/sys">sys</a> — packages for making system calls.</li>
<li><a href="//pkg.go.dev/golang.org/x/text">text</a> — packages for working with text.</li>
<li><a href="//pkg.go.dev/golang.org/x/time">time</a> — additional time packages.</li>
<li><a href="//pkg.go.dev/golang.org/x/tools">tools</a> — godoc, goimports, gorename, and other tools.</li>
<li><a href="//pkg.go.dev/golang.org/x/tour">tour</a> — <a href="//tour.golang.org">tour.golang.org</a>'s implementation.</li>
<li><a href="//pkg.go.dev/golang.org/x/exp">exp</a> — experimental and deprecated packages (handle with care; may change without warning).</li>
</ul>
<h3 id="community">Community</h3>
<p>
These services can help you find Open Source packages provided by the community.
</p>
<ul>
<li><a href="//pkg.go.dev">Pkg.go.dev</a> - the Go package discovery site.</li>
<li><a href="/wiki/Projects">Projects at the Go Wiki</a> - a curated list of Go projects.</li>
</ul>
</div><!-- .container -->
</main><!-- #page -->
<footer>
<div class="Footer Footer--wide">
<img class="Footer-gopher" src="/lib/godoc/images/footer-gopher.jpg" alt="The Go Gopher">
<ul class="Footer-links">
<li class="Footer-link"><a href="/doc/copyright.html">Copyright</a></li>
<li class="Footer-link"><a href="/doc/tos.html">Terms of Service</a></li>
<li class="Footer-link"><a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a></li>
<li class="Footer-link"><a href="http://golang.org/issues/new?title=x/website:" target="_blank" rel="noopener">Report a website issue</a></li>
</ul>
<a class="Footer-supportedBy" href="https://google.com">Supported by Google</a>
</div>
</footer>
<script>
(function() {
var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
})();
</script>