GO/

directory
v0.0.0-...-c554eb7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2026 License: BSD-3-Clause, GooglePatentClause, MIT

README

This is the source code repository for the Go programming language.  

For documentation about how to install and use Go,
visit http://golang.org/ or load doc/install.html in your web browser.

After installing Go, you can view a nicely formatted
doc/install.html by running godoc --http=:6060
and then visiting http://localhost:6060/doc/install.html.

Unless otherwise noted, the Go source files are distributed
under the BSD-style license found in the LICENSE file.

--

Binary Distribution Notes

If you have just untarred a binary Go distribution, you need to set
the environment variable $GOROOT to the full path of the go
directory (the one containing this README).  You can omit the
variable if you unpack it into /usr/local/go, or if you rebuild
from sources by running all.bash (see doc/install.html).
You should also add the Go binary directory $GOROOT/bin
to your shell's path.

For example, if you extracted the tar file into $HOME/go, you might
put the following in your .profile:

    export GOROOT=$HOME/go
    export PATH=$PATH:$GOROOT/bin

See doc/install.html for more details.

Directories

Path Synopsis
C
cmd/5a
5a is a version of the Plan 9 assembler.
5a is a version of the Plan 9 assembler.
cmd/5c
5c is a version of the Plan 9 C compiler.
5c is a version of the Plan 9 C compiler.
cmd/5l
5l is a modified version of the Plan 9 linker.
5l is a modified version of the Plan 9 linker.
cmd/6a
6a is a version of the Plan 9 assembler.
6a is a version of the Plan 9 assembler.
cmd/6c
6c is a version of the Plan 9 C compiler.
6c is a version of the Plan 9 C compiler.
cmd/6l
6l is a modified version of the Plan 9 linker.
6l is a modified version of the Plan 9 linker.
cmd/8a
8a is a version of the Plan 9 assembler.
8a is a version of the Plan 9 assembler.
cmd/8c
8c is a version of the Plan 9 C compiler.
8c is a version of the Plan 9 C compiler.
cmd/8l
8l is a modified version of the Plan 9 linker.
8l is a modified version of the Plan 9 linker.
cmd/ar
Gopack is a variant of the Plan 9 ar tool.
Gopack is a variant of the Plan 9 ar tool.
cmd/cc
This directory contains the portable section of the Plan 9 C compilers.
This directory contains the portable section of the Plan 9 C compilers.
cmd/cov
Cov is a rudimentary code coverage tool.
Cov is a rudimentary code coverage tool.
cmd/ld
This directory contains the portable section of the Plan 9 C linkers.
This directory contains the portable section of the Plan 9 C linkers.
cmd/nm
Nm is a version of the Plan 9 nm command.
Nm is a version of the Plan 9 nm command.
cmd/prof
Prof is a rudimentary real-time profiler.
Prof is a rudimentary real-time profiler.
cmd
5g
5g is the version of the gc compiler for the ARM.
5g is the version of the gc compiler for the ARM.
6g
6g is the version of the gc compiler for the x86-64.
6g is the version of the gc compiler for the x86-64.
8g
8g is the version of the gc compiler for the x86.
8g is the version of the gc compiler for the x86.
godefs
Godefs is a bootstrapping tool for porting the Go runtime to new systems.
Godefs is a bootstrapping tool for porting the Go runtime to new systems.
gomake
The gomake command runs GNU make with an appropriate environment for using the conventional Go makefiles.
The gomake command runs GNU make with an appropriate environment for using the conventional Go makefiles.
gotest
Gotest is an automated testing tool for Go packages.
Gotest is an automated testing tool for Go packages.
misc
src/pkg/exp/4s command
This is a simple demo of Go running under Native Client.
This is a simple demo of Go running under Native Client.
src/pkg/exp/draw
Package draw provides image composition functions.
Package draw provides image composition functions.
src/pkg/exp/ebnf
Package ebnf is a library for EBNF grammars.
Package ebnf is a library for EBNF grammars.
src/pkg/exp/gui
Package gui defines a basic graphical user interface programming model.
Package gui defines a basic graphical user interface programming model.
src/pkg/exp/gui/x11
Package x11 implements an X11 backend for the exp/gui package.
Package x11 implements an X11 backend for the exp/gui package.
src/pkg/exp/inotify
Package inotify implements a wrapper for the Linux inotify system.
Package inotify implements a wrapper for the Linux inotify system.
src/pkg/exp/sql
Package sql provides a generic interface around SQL (or SQL-like) databases.
Package sql provides a generic interface around SQL (or SQL-like) databases.
src/pkg/exp/sql/driver
Package driver defines interfaces to be implemented by database drivers as used by package sql.
Package driver defines interfaces to be implemented by database drivers as used by package sql.
src/pkg/exp/ssh
Package ssh implements an SSH client and server.
Package ssh implements an SSH client and server.
src/pkg/exp/terminal
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
Package terminal provides support functions for dealing with terminals, as commonly found on UNIX systems.
src/pkg/exp/types
PACKAGE UNDER CONSTRUCTION.
PACKAGE UNDER CONSTRUCTION.
src/pkg/exp/winfsnotify
Package winfsnotify allows the user to receive file system event notifications on Windows.
Package winfsnotify allows the user to receive file system event notifications on Windows.
src/pkg/image
Package image implements a basic 2-D image library.
Package image implements a basic 2-D image library.
src/pkg/image/bmp
Package bmp implements a BMP image decoder.
Package bmp implements a BMP image decoder.
src/pkg/image/color
Package color implements a basic color library.
Package color implements a basic color library.
src/pkg/image/gif
Package gif implements a GIF image decoder.
Package gif implements a GIF image decoder.
src/pkg/image/jpeg
Package jpeg implements a JPEG image decoder and encoder.
Package jpeg implements a JPEG image decoder and encoder.
src/pkg/image/png
Package png implements a PNG image decoder and encoder.
Package png implements a PNG image decoder and encoder.
src/pkg/image/tiff
Package tiff implements a TIFF image decoder.
Package tiff implements a TIFF image decoder.
src/pkg/image/ycbcr
Package ycbcr provides images from the Y'CbCr color model.
Package ycbcr provides images from the Y'CbCr color model.
pkg
archive/tar
The tar package implements access to tar archives.
The tar package implements access to tar archives.
archive/zip
The zip package provides support for reading ZIP archives.
The zip package provides support for reading ZIP archives.
asn1
The asn1 package implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
The asn1 package implements parsing of DER-encoded ASN.1 data structures, as defined in ITU-T Rec X.690.
big
This package implements multi-precision arithmetic (big numbers).
This package implements multi-precision arithmetic (big numbers).
bufio
This package 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.
This package 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.
bytes
The bytes package implements functions for the manipulation of byte slices.
The bytes package implements functions for the manipulation of byte slices.
cmath
The cmath package provides basic constants and mathematical functions for complex numbers.
The cmath package provides basic constants and mathematical functions for complex numbers.
compress/flate
The flate package implements the DEFLATE compressed data format, described in RFC 1951.
The flate package implements the DEFLATE compressed data format, described in RFC 1951.
compress/gzip
The gzip package implements reading and writing of gzip format compressed files, as specified in RFC 1952.
The gzip package implements reading and writing of gzip format compressed files, as specified in RFC 1952.
compress/zlib
The zlib package implements reading and writing of zlib format compressed data, as specified in RFC 1950.
The zlib package implements reading and writing of zlib format compressed data, as specified in RFC 1950.
container/heap
This package provides heap operations for any type that implements heap.Interface.
This package provides heap operations for any type that implements heap.Interface.
container/list
The list package implements a doubly linked list.
The list package implements a doubly linked list.
container/ring
The ring package implements operations on circular lists.
The ring package implements operations on circular lists.
container/vector
The vector package implements containers for managing sequences of elements.
The vector package implements containers for managing sequences of elements.
crypto/aes
This package implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
This package implements AES encryption (formerly Rijndael), as defined in U.S. Federal Information Processing Standards Publication 197.
crypto/block
The block package implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
The block package implements standard block cipher modes that can be wrapped around low-level block cipher implementations.
crypto/blowfish
This package implements Bruce Schneier's Blowfish encryption algorithm.
This package implements Bruce Schneier's Blowfish encryption algorithm.
crypto/hmac
The hmac package implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
The hmac package implements the Keyed-Hash Message Authentication Code (HMAC) as defined in U.S. Federal Information Processing Standards Publication 198.
crypto/md4
This package implements the MD4 hash algorithm as defined in RFC 1320.
This package implements the MD4 hash algorithm as defined in RFC 1320.
crypto/md5
This package implements the MD5 hash algorithm as defined in RFC 1321.
This package implements the MD5 hash algorithm as defined in RFC 1321.
crypto/ocsp
This package parses OCSP responses as specified in RFC 2560.
This package parses OCSP responses as specified in RFC 2560.
crypto/rand
Package rand implements a cryptographically secure pseudorandom number generator.
Package rand implements a cryptographically secure pseudorandom number generator.
crypto/rc4
This package implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
This package implements RC4 encryption, as defined in Bruce Schneier's Applied Cryptography.
crypto/ripemd160
This package implements the RIPEMD-160 hash algorithm.
This package implements the RIPEMD-160 hash algorithm.
crypto/rsa
This package implements RSA encryption as specified in PKCS#1.
This package implements RSA encryption as specified in PKCS#1.
crypto/sha1
This package implements the SHA1 hash algorithm as defined in RFC 3174.
This package implements the SHA1 hash algorithm as defined in RFC 3174.
crypto/sha256
This package implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-2.
This package implements the SHA224 and SHA256 hash algorithms as defined in FIPS 180-2.
crypto/sha512
This package implements the SHA384 and SHA512 hash algorithms as defined in FIPS 180-2.
This package implements the SHA384 and SHA512 hash algorithms as defined in FIPS 180-2.
crypto/subtle
This package implements functions that are often useful in cryptographic code but require careful thought to use correctly.
This package implements functions that are often useful in cryptographic code but require careful thought to use correctly.
crypto/x509
This package parses X.509-encoded keys and certificates.
This package parses X.509-encoded keys and certificates.
crypto/xtea
This package implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
This package implements XTEA encryption, as defined in Needham and Wheeler's 1997 technical report, "Tea extensions."
debug/dwarf
This package 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
This package 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.
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.
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, as defined by http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html.
Package macho implements access to Mach-O object files, as defined by http://developer.apple.com/mac/library/documentation/DeveloperTools/Conceptual/MachORuntime/Reference/reference.html.
debug/proc
Package proc provides a platform-independent interface for tracing and controlling running processes.
Package proc provides a platform-independent interface for tracing and controlling running processes.
ebnf
A library for EBNF grammars.
A library for EBNF grammars.
encoding/ascii85
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
Package ascii85 implements the ascii85 data encoding as used in the btoa tool and Adobe's PostScript and PDF document formats.
encoding/base64
Package base64 implements base64 encoding as specified by RFC 4648.
Package base64 implements base64 encoding as specified by RFC 4648.
encoding/binary
This package implements translation between unsigned integer values and byte sequences.
This package implements translation between unsigned integer values and byte sequences.
encoding/git85
Package git85 implements the radix 85 data encoding used in the Git version control system.
Package git85 implements the radix 85 data encoding used in the Git version control system.
encoding/hex
This package implements hexadecimal encoding and decoding.
This package implements hexadecimal encoding and decoding.
encoding/pem
This package implements the PEM data encoding, which originated in Privacy Enhanced Mail.
This package implements the PEM data encoding, which originated in Privacy Enhanced Mail.
exec
The exec package runs external commands.
The exec package runs external commands.
exp/datafmt
The datafmt package implements syntax-directed, type-driven formatting of arbitrary data structures.
The datafmt package implements syntax-directed, type-driven formatting of arbitrary data structures.
exp/draw
Package draw provides basic graphics and drawing primitives, in the style of the Plan 9 graphics library (see http://plan9.bell-labs.com/magic/man2html/2/draw) and the X Render extension.
Package draw provides basic graphics and drawing primitives, in the style of the Plan 9 graphics library (see http://plan9.bell-labs.com/magic/man2html/2/draw) and the X Render extension.
expvar
The expvar package provides a standardized interface to public variables, such as operation counters in servers.
The expvar package provides a standardized interface to public variables, such as operation counters in servers.
flag
The flag package implements command-line flag parsing.
The flag package implements command-line flag parsing.
go/ast
The AST package declares the types used to represent syntax trees for Go packages.
The AST package declares the types used to represent syntax trees for Go packages.
go/doc
The doc package extracts source code documentation from a Go AST.
The doc package extracts source code documentation from a Go AST.
go/parser
A parser for Go source files.
A parser for Go source files.
go/printer
The printer package implements printing of AST nodes.
The printer package implements printing of AST nodes.
go/scanner
A scanner for Go source text.
A scanner for Go source text.
go/token
This package defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
This package defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates).
go/typechecker
This package implements typechecking of a Go AST.
This package implements typechecking of a Go AST.
hash/adler32
This package implements the Adler-32 checksum.
This package implements the Adler-32 checksum.
hash/crc32
This package implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
This package implements the 32-bit cyclic redundancy check, or CRC-32, checksum.
hash/crc64
This package implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
This package implements the 64-bit cyclic redundancy check, or CRC-64, checksum.
html
The html package implements an HTML5-compliant tokenizer and parser.
The html package implements an HTML5-compliant tokenizer and parser.
http/pprof
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
image
The image package implements a basic 2-D image library.
The image package implements a basic 2-D image library.
image/jpeg
The jpeg package implements a decoder for JPEG images, as defined in ITU-T T.81.
The jpeg package implements a decoder for JPEG images, as defined in ITU-T T.81.
image/png
The png package implements a PNG image decoder and encoder.
The png package implements a PNG image decoder and encoder.
index/suffixarray
The suffixarray package implements substring search in logarithmic time using an in-memory suffix array.
The suffixarray package implements substring search in logarithmic time using an in-memory suffix array.
io
This package provides basic interfaces to I/O primitives.
This package provides basic interfaces to I/O primitives.
json
The json package implements encoding and decoding of JSON objects as defined in RFC 4627.
The json package implements encoding and decoding of JSON objects as defined in RFC 4627.
log
Simple logging package.
Simple logging package.
math
The math package provides basic constants and mathematical functions.
The math package provides basic constants and mathematical functions.
mime
The mime package implements parts of the MIME spec.
The mime package implements parts of the MIME spec.
mime/multipart
Package multipart implements MIME multipart parsing, as defined in RFC 2046.
Package multipart implements MIME multipart parsing, as defined in RFC 2046.
net/dict
Package dict implements the Dictionary Server Protocol as defined in RFC 2229.
Package dict implements the Dictionary Server Protocol as defined in RFC 2229.
net/textproto
The textproto package implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
The textproto package implements generic support for text-based request/response protocols in the style of HTTP, NNTP, and SMTP.
nntp
The nntp package implements a client for the news protocol NNTP, as defined in RFC 3977.
The nntp package implements a client for the news protocol NNTP, as defined in RFC 3977.
os
The os package provides a platform-independent interface to operating system functionality.
The os package provides a platform-independent interface to operating system functionality.
os/signal
Package signal implements operating system-independent signal handling.
Package signal implements operating system-independent signal handling.
patch
Package patch implements parsing and execution of the textual and binary patch descriptions used by version control tools such as CVS, Git, Mercurial, and Subversion.
Package patch implements parsing and execution of the textual and binary patch descriptions used by version control tools such as CVS, Git, Mercurial, and Subversion.
path
The path package implements utility routines for manipulating slash-separated filename paths.
The path package implements utility routines for manipulating slash-separated filename paths.
rand
Package rand implements pseudo-random number generators.
Package rand implements pseudo-random number generators.
reflect
The reflect package implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
The reflect package implements run-time reflection, allowing a program to manipulate objects with arbitrary types.
regexp
Package regexp implements a simple regular expression library.
Package regexp implements a simple regular expression library.
rpc/jsonrpc
Package jsonrpc implements a JSON-RPC ClientCodec and ServerCodec for the rpc package.
Package jsonrpc implements a JSON-RPC ClientCodec and ServerCodec for the rpc package.
runtime
The runtime package contains operations that interact with Go's runtime system, such as functions to control goroutines.
The runtime package contains operations that interact with Go's runtime system, such as functions to control goroutines.
runtime/pprof
Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
Package pprof writes runtime profiling data in the format expected by the pprof visualization tool.
scanner
A scanner and tokenizer for UTF-8-encoded text.
A scanner and tokenizer for UTF-8-encoded text.
smtp
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321.
sort
The sort package provides primitives for sorting arrays and user-defined collections.
The sort package provides primitives for sorting arrays and user-defined collections.
strconv
The strconv package implements conversions to and from string representations of basic data types.
The strconv package implements conversions to and from string representations of basic data types.
strings
A package of simple functions to manipulate strings.
A package of simple functions to manipulate strings.
sync
The sync package provides basic synchronization primitives such as mutual exclusion locks.
The sync package provides basic synchronization primitives such as mutual exclusion locks.
syscall
This package contains an interface to the low-level operating system primitives.
This package contains an interface to the low-level operating system primitives.
syslog
The syslog package provides a simple interface to the system log service.
The syslog package provides a simple interface to the system log service.
tabwriter
The tabwriter package implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
The tabwriter package implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
template
Data-driven templates for generating textual output such as HTML.
Data-driven templates for generating textual output such as HTML.
testing
The testing package provides support for automated testing of Go packages.
The testing package provides support for automated testing of Go packages.
testing/iotest
The iotest package implements Readers and Writers useful only for testing.
The iotest package implements Readers and Writers useful only for testing.
testing/quick
This package implements utility functions to help with black box testing.
This package implements utility functions to help with black box testing.
testing/script
This package aids in the testing of code that uses channels.
This package aids in the testing of code that uses channels.
time
The time package provides functionality for measuring and displaying time.
The time package provides functionality for measuring and displaying time.
try
Package try contains the executable part of the gotry command.
Package try contains the executable part of the gotry command.
unsafe
The unsafe package contains operations that step around the type safety of Go programs.
The unsafe package contains operations that step around the type safety of Go programs.
utf16
Package utf16 implements encoding and decoding of UTF-16 sequences.
Package utf16 implements encoding and decoding of UTF-16 sequences.
utf8
Functions and constants to support text encoded in UTF-8.
Functions and constants to support text encoded in UTF-8.
websocket
The websocket package implements a client and server for the Web Socket protocol.
The websocket package implements a client and server for the Web Socket protocol.
xml
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
Package xml implements a simple XML 1.0 parser that understands XML name spaces.
test
bench command
bugs command
garbage command
nilptr command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL