ref: dd52020bb30338f9eb23910e2fe09a6667dcafcd
dir: /domino/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>