# 庫
## 子目錄
+ [標準庫](#stdlib)
+ [其它包](#other)
+ [子代碼庫](#subrepo)
+ [社區](#community)
## 標準庫

| 名稱 | 摘要 |
| --- | --- | --- |
| [archive](#archive) |
| ?????[tar](./pkg/archive_tar.htm) | tar包實現了tar格式壓縮文件的存取. |
| ?????[zip](./pkg/archive_zip.htm) | zip包提供了zip檔案文件的讀寫服務. |
| [bufio](./pkg/bufio.htm) | bufio 包實現了帶緩存的I/O操作. |
| [builtin](./pkg/builtin.htm) | builtin 包為Go的預聲明標識符提供了文檔. |
| [bytes](./pkg/bytes.htm) | bytes包實現了操作[]byte的常用函數. |
| [compress](#compress) |
| ?????[bzip2](./pkg/compress_bzip2.htm) | bzip2包實現bzip2的解壓縮. |
| ?????[flate](./pkg/compress_flate.htm) | flate包實現了deflate壓縮數據格式,參見RFC 1951. |
| ?????[gzip](./pkg/compress_gzip.htm) | gzip包實現了gzip格式壓縮文件的讀寫,參見RFC 1952. |
| ?????[lzw](./pkg/compress_lzw.htm) | lzw包實現了Lempel-Ziv-Welch數據壓縮格式,這是一種T. A. Welch在“A Technique for High-Performance Data Compression”一文(Computer, 17(6) (June 1984), pp 8-19)提出的一種壓縮格式. |
| ?????[zlib](./pkg/compress_zlib.htm) | zlib包實現了對zlib格式壓縮數據的讀寫,參見RFC 1950. |
| [container](#container) |
| ?????[heap](./pkg/container_heap.htm) | heap包提供了對任意類型(實現了heap.Interface接口)的堆操作. |
| ?????[list](./pkg/container_list.htm) | list包實現了雙向鏈表. |
| ?????[ring](./pkg/container_ring.htm) | ring實現了環形鏈表的操作. |
| [crypto](./pkg/crypto.htm) | crypto包搜集了常用的密碼(算法)常量. |
| ?????[aes](./pkg/crypto_aes.htm) | aes包實現了AES加密算法,參見U.S. Federal Information Processing Standards Publication 197. |
| ?????[cipher](./pkg/crypto_cipher.htm) | cipher包實現了多個標準的用于包裝底層塊加密算法的加密算法實現. |
| ?????[des](./pkg/crypto_des.htm) | des包實現了DES標準和TDEA算法,參見U.S. Federal Information Processing Standards Publication 46-3. |
| ?????[dsa](./pkg/crypto_dsa.htm) | dsa包實現FIPS 186-3定義的數字簽名算法(Digital Signature Algorithm),即DSA算法. |
| ?????[ecdsa](./pkg/crypto_ecdsa.htm) | ecdsa包實現了橢圓曲線數字簽名算法,參見FIPS 186-3. |
| ?????[elliptic](./pkg/crypto_elliptic.htm) | elliptic包實現了幾條覆蓋素數有限域的標準橢圓曲線. |
| ?????[hmac](./pkg/crypto_hmac.htm) | hmac包實現了U.S. Federal Information Processing Standards Publication 198規定的HMAC(加密哈希信息認證碼). |
| ?????[md5](./pkg/crypto_md5.htm) | md5包實現了MD5哈希算法,參見RFC 1321. |
| ?????[rand](./pkg/crypto_rand.htm) | rand包實現了用于加解密的更安全的隨機數生成器. |
| ?????[rc4](./pkg/crypto_rc4.htm) | rc4包實現了RC4加密算法,參見Bruce Schneier's Applied Cryptography. |
| ?????[rsa](./pkg/crypto_rsa.htm) | rsa包實現了PKCS#1規定的RSA加密算法. |
| ?????[sha1](./pkg/crypto_sha1.htm) | sha1包實現了SHA1哈希算法,參見RFC 3174. |
| ?????[sha256](./pkg/crypto_sha256.htm) | sha256包實現了SHA224和SHA256哈希算法,參見FIPS 180-4. |
| ?????[sha512](./pkg/crypto_sha512.htm) | sha512包實現了SHA384和SHA512哈希算法,參見FIPS 180-2. |
| ?????[subtle](./pkg/crypto_subtle.htm) | Package subtle implements functions that are often useful in cryptographic code but require careful thought to use correctly. |
| ?????[tls](./pkg/crypto_tls.htm) | tls包實現了TLS 1.2,細節參見RFC 5246. |
| ?????[x509](./pkg/crypto_x509.htm) | x509包解析X.509編碼的證書和密鑰. |
| ??????????[pkix](./pkg/crypto_x509_pkix.htm) | pkix包提供了共享的、低層次的結構體,用于ASN.1解析和X.509證書、CRL、OCSP的序列化. |
| [database](#database) |
| ?????[sql](./pkg/database_sql.htm) | sql 包提供了通用的SQL(或類SQL)數據庫接口. |
| ??????????[driver](./pkg/database_sql_driver.htm) | driver包定義了應被數據庫驅動實現的接口,這些接口會被sql包使用. |
| [debug](#debug) |
| ?????[dwarf](./pkg/debug_dwarf.htm) | 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 |
| ?????[elf](./pkg/debug_elf.htm) | Package elf implements access to ELF object files. |
| ?????[gosym](./pkg/debug_gosym.htm) | Package gosym implements access to the Go symbol and line number tables embedded in Go binaries generated by the gc compilers. |
| ?????[macho](./pkg/debug_macho.htm) | Package macho implements access to Mach-O object files. |
| ?????[pe](./pkg/debug_pe.htm) | Package pe implements access to PE (Microsoft Windows Portable Executable) files. |
| ?????[plan9obj](./pkg/debug_plan9obj.htm) | Package plan9obj implements access to Plan 9 a.out object files. |
| [encoding](./pkg/encoding.htm) | encoding包定義了供其它包使用的可以將數據在字節水平和文本表示之間轉換的接口. |
| ?????[ascii85](./pkg/encoding_ascii85.htm) | ascii85 包是對 ascii85 的數據編碼的實現. |
| ?????[asn1](./pkg/encoding_asn1.htm) | asn1包實現了DER編碼的ASN.1數據結構的解析,參見ITU-T Rec X.690. |
| ?????[base32](./pkg/encoding_base32.htm) | base32包實現了RFC 4648規定的base32編碼. |
| ?????[base64](./pkg/encoding_base64.htm) | base64實現了RFC 4648規定的base64編碼. |
| ?????[binary](./pkg/encoding_binary.htm) | binary包實現了簡單的數字與字節序列的轉換以及變長值的編解碼. |
| ?????[csv](./pkg/encoding_csv.htm) | csv讀寫逗號分隔值(csv)的文件. |
| ?????[gob](./pkg/encoding_gob.htm) | gob包管理gob流——在編碼器(發送器)和解碼器(接受器)之間交換的binary值. |
| ?????[hex](./pkg/encoding_hex.htm) | hex包實現了16進制字符表示的編解碼. |
| ?????[json](./pkg/encoding_json.htm) | json包實現了json對象的編解碼,參見RFC 4627. |
| ?????[pem](./pkg/encoding_pem.htm) | pem包實現了PEM數據編碼(源自保密增強郵件協議). |
| ?????[xml](./pkg/encoding_xml.htm) | Package xml implements a simple XML 1.0 parser that understands XML name spaces. |
| [errors](./pkg/errors.htm) | error 包實現了用于錯誤處理的函數. |
| [expvar](./pkg/expvar.htm) | expvar包提供了公共變量的標準接口,如服務的操作計數器. |
| [flag](./pkg/flag.htm) | flag 包實現命令行標簽解析. |
| [fmt](./pkg/fmt.htm) | fmt 包實現了格式化I/O函數,類似于C的 printf 和 scanf. |
| [go](#go) |
| ?????[ast](./pkg/go_ast.htm) | Package ast declares the types used to represent syntax trees for Go packages. |
| ?????[build](./pkg/go_build.htm) | Package build gathers information about Go packages. |
| ?????[doc](./pkg/go_doc.htm) | Package doc extracts source code documentation from a Go AST. |
| ?????[format](./pkg/go_format.htm) | Package format implements standard formatting of Go source. |
| ?????[parser](./pkg/go_parser.htm) | Package parser implements a parser for Go source files. |
| ?????[printer](./pkg/go_printer.htm) | Package printer implements printing of AST nodes. |
| ?????[scanner](./pkg/go_scanner.htm) | Package scanner implements a scanner for Go source text. |
| ?????[token](./pkg/go_token.htm) | Package token defines constants representing the lexical tokens of the Go programming language and basic operations on tokens (printing, predicates). |
| [hash](#hash) | hash包提供hash函數的接口. |
| ?????[adler32](./pkg/hash_adler32.htm) | adler32包實現了Adler-32校驗和算法,參見RFC 1950. |
| ?????[crc32](./pkg/hash_crc32.htm) | crc32包實現了32位循環冗余校驗(CRC-32)的校驗和算法. |
| ?????[crc64](./pkg/hash_crc64.htm) | Package crc64 implements the 64-bit cyclic redundancy check, or CRC-64, checksum. |
| ?????[fnv](./pkg/hash_fnv.htm) | fnv包實現了FNV-1和FNV-1a(非加密hash函數). |
| [html](./pkg/html.htm) | html包提供了用于轉義和解轉義HTML文本的函數. |
| ?????[template](./pkg/html_template.htm) | template包(html/template)實現了數據驅動的模板,用于生成可對抗代碼注入的安全HTML輸出. |
| [image](./pkg/image.htm) | image實現了基本的2D圖片庫. |
| ?????[color](./pkg/image_color.htm) | color 包實現了基本的顏色庫。 |
| ??????????[palette](./pkg/image_color_palette.htm) | palette包提供了標準的調色板. |
| ?????[draw](./pkg/image_draw.htm) | draw 包提供組裝圖片的方法. |
| ?????[gif](./pkg/image_gif.htm) | gif 包實現了GIF圖片的解碼. |
| ?????[jpeg](./pkg/image_jpeg.htm) | jpeg包實現了jpeg格式圖像的編解碼. |
| ?????[png](./pkg/image_png.htm) | png 包實現了PNG圖像的編碼和解碼. |
| [index](#index) |
| ?????[suffixarray](./pkg/index_suffixarray.htm) | suffixarrayb包通過使用內存中的后綴樹實現了對數級時間消耗的子字符串搜索. |
| [io](./pkg/io.htm) | io 包為I/O原語提供了基礎的接口. |
| ?????[ioutil](./pkg/io_ioutil.htm) | ioutil 實現了一些I/O的工具函數。 |
| [log](./pkg/log.htm) | log包實現了簡單的日志服務. |
| ?????[syslog](./pkg/log_syslog.htm) | syslog包提供一個簡單的系統日志服務的接口. |
| [math](./pkg/math.htm) | math 包提供了基本常數和數學函數。 |
| ?????[big](./pkg/math_big.htm) | big 包實現了(大數的)高精度運算. |
| ?????[cmplx](./pkg/math_cmplx.htm) | cmplx 包為復數提供了基本的常量和數學函數. |
| ?????[rand](./pkg/math_rand.htm) | rand 包實現了偽隨機數生成器. |
| [mime](./pkg/mime.htm) | mime實現了MIME的部分規定. |
| ?????[multipart](./pkg/mime_multipart.htm) | multipart實現了MIME的multipart解析,參見RFC 2046. |
| [net](./pkg/net.htm) | net包提供了可移植的網絡I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket. |
| ?????[http](./pkg/net_http.htm) | http包提供了HTTP客戶端和服務端的實現. |
| ??????????[cgi](./pkg/net_http_cgi.htm) | cgi 包實現了RFC3875協議描述的CGI(公共網關接口). |
| ??????????[cookiejar](./pkg/net_http_cookiejar.htm) | cookiejar包實現了保管在內存中的符合RFC 6265標準的http.CookieJar接口. |
| ??????????[fcgi](./pkg/net_http_fcgi.htm) | fcgi 包實現了FastCGI協議. |
| ??????????[httptest](./pkg/net_http_httptest.htm) | httptest 包提供HTTP測試的單元工具. |
| ??????????[httputil](./pkg/net_http_httputil.htm) | httputil包提供了HTTP公用函數,是對net/http包的更常見函數的補充. |
| ??????????[pprof](./pkg/net_http_pprof.htm) | pprof 包通過提供HTTP服務返回runtime的統計數據,這個數據是以pprof可視化工具規定的返回格式返回的. |
| ?????[mail](./pkg/net_mail.htm) | mail 包實現了解析郵件消息的功能. |
| ?????[rpc](./pkg/net_rpc.htm) | rpc 包提供了一個方法來通過網絡或者其他的I/O連接進入對象的外部方法. |
| ??????????[jsonrpc](./pkg/net_rpc_jsonrpc.htm) | jsonrpc 包使用了rpc的包實現了一個JSON-RPC的客戶端解碼器和服務端的解碼器. |
| ?????[smtp](./pkg/net_smtp.htm) | smtp包實現了簡單郵件傳輸協議(SMTP),參見RFC 5321. |
| ?????[textproto](./pkg/net_textproto.htm) | textproto實現了對基于文本的請求/回復協議的一般性支持,包括HTTP、NNTP和SMTP. |
| ?????[url](./pkg/net_url.htm) | url包解析URL并實現了查詢的逸碼,參見RFC 3986. |
| [os](./pkg/os.htm) | os包提供了操作系統函數的不依賴平臺的接口. |
| ?????[exec](./pkg/os_exec.htm) | exec包執行外部命令. |
| ?????[signal](./pkg/os_signal.htm) | signal包實現了對輸入信號的訪問. |
| ?????[user](./pkg/os_user.htm) | user包允許通過名稱或ID查詢用戶帳戶. |
| [path](./pkg/path.htm) | path實現了對斜杠分隔的路徑的實用操作函數. |
| ?????[filepath](./pkg/path_filepath.htm) | filepath包實現了兼容各操作系統的文件路徑的實用操作函數. |
| [reflect](./pkg/reflect.htm) | reflect包實現了運行時反射,允許程序操作任意類型的對象. |
| [regexp](./pkg/regexp.htm) | regexp包實現了正則表達式搜索. |
| ?????[syntax](./pkg/regexp_syntax.htm) | Package syntax parses regular expressions into parse trees and compiles parse trees into programs. |
| [runtime](./pkg/runtime.htm) | TODO(osc): 需更新 runtime 包含與Go的運行時系統進行交互的操作,例如用于控制Go程的函數. |
| ?????[cgo](./pkg/runtime_cgo.htm) | cgo 包含有 cgo 工具生成的代碼的運行時支持. |
| ?????[debug](./pkg/runtime_debug.htm) | debug 包含有程序在運行時調試其自身的功能. |
| ?????[pprof](./pkg/runtime_pprof.htm) | pprof 包按照可視化工具 pprof 所要求的格式寫出運行時分析數據. |
| ?????[race](./pkg/runtime_race.htm) | race 包實現了數據競爭檢測邏輯. |
| [sort](./pkg/sort.htm) | sort 包為切片及用戶定義的集合的排序操作提供了原語. |
| [strconv](./pkg/strconv.htm) | strconv包實現了基本數據類型和其字符串表示的相互轉換. |
| [strings](./pkg/strings.htm) | strings包實現了用于操作字符的簡單函數. |
| [sync](./pkg/sync.htm) | sync 包提供了互斥鎖這類的基本的同步原語. |
| ?????[atomic](./pkg/sync_atomic.htm) | atomic 包提供了底層的原子性內存原語,這對于同步算法的實現很有用. |
| [syscall](http://docs.studygolang.com/pkg/syscall/) | Package syscall contains an interface to the low-level operating system primitives. |
| [testing](./pkg/testing.htm) | Package testing provides support for automated testing of Go packages. |
| ?????[iotest](./pkg/testing_iotest.htm) | Package iotest implements Readers and Writers useful mainly for testing. |
| ?????[quick](./pkg/testing_quick.htm) | Package quick implements utility functions to help with black box testing. |
| [text](#text) |
| ?????[scanner](./pkg/text_scanner.htm) | scanner包提供對utf-8文本的token掃描服務. |
| ?????[tabwriter](./pkg/text_tabwriter.htm) | tabwriter包實現了寫入過濾器(tabwriter.Writer),可以將輸入的縮進修正為正確的對齊文本. |
| ?????[template](./pkg/text_template.htm) | template包實現了數據驅動的用于生成文本輸出的模板. |
| ??????????[parse](./pkg/text_template_parse.htm) | Package parse builds parse trees for templates as defined by text/template and html/template. |
| [time](./pkg/time.htm) | time包提供了時間的顯示和測量用的函數. |
| [unicode](./pkg/unicode.htm) | unicode 包提供了一些測試Unicode碼點屬性的數據和函數. |
| ?????[utf16](./pkg/unicode_utf16.htm) | utf16 包實現了對UTF-16序列的編碼和解碼。 |
| ?????[utf8](./pkg/unicode_utf8.htm) | utf8 包實現了支持UTF-8文本編碼的函數和常量. |
| [unsafe](./pkg/unsafe.htm) | unsafe 包含有關于Go程序類型安全的所有操作. |
## 其它包
### 子代碼庫
這些包是 Go 項目的一部分,但并未在主源碼樹中。它們在比 Go 核心庫更加寬松的[兼容性需求](/doc/go1compat)下開發。 可通過“[go get](/cmd/go/#hdr-Download_and_install_packages_and_dependencies)”安裝它們,子代碼庫的[文檔](http://godoc.org/-/subrepo)和[源碼](https://github.com/golang)可通過相應的鏈接訪問
* [crypto](https://github.com/golang/crypto) — 附加的加密包。
* [image](https://github.com/golang/image) — 附加的圖像包。
* [net](https://github.com/golang/net) — 附加的網絡包。
* [sys](https://github.com/golang/sys) — 系統調用包。
* [text](https://github.com/golang/text) — 文本處理包。
* [tools](https://github.com/golang/tools) — godoc、vet、cover 及其它工具。
* [exp](https://github.com/golang/exp) — 實驗性代碼(可能不經警告就更改,請小心對待)。
### 社區
這些服務可幫你尋找社區提供的開源包。
* [GoDoc](http://godoc.org/) - 包索引與搜索引擎。
* [Go 搜索](http://go-search.org/) - 代碼搜索引擎。
* [Go 維基上的項目](https://github.com/golang/go/wiki/Projects) - Go 項目策劃列表
- 庫
- package achive
- package tar
- package zip
- package bufio
- package builtin
- package bytes
- package compress
- package bzip2
- package flate
- package gzip
- package lzw
- package zlib
- package container
- package heap
- package list
- package ring
- package crypto
- package aes
- package cipher
- package des
- package dsa
- package ecdsa
- package elliptic
- package hmac
- package md5
- package rand
- package rc4
- package rsa
- package sha1
- package sha256
- package sha512
- package subtle
- package tls
- package x509
- package pkix
- package database
- package sql
- package driver
- package encoding
- package ascii85
- package asn1
- package base32
- package base64
- package binary
- package csv
- package gob
- package hex
- package json
- package pem
- package xml
- package errors
- package expvar
- package flag
- package fmt
- package go
- package doc
- package format
- package parser
- package printer
- package hash
- package adler32
- package crc32
- package crc64
- package fnv
- package html
- package template
- package image
- package color
- package palette
- package draw
- package gif
- package jpeg
- package png
- package index
- package suffixarray
- package io
- package ioutil
- package log
- package syslog
- package math
- package big
- package cmplx
- package rand
- package mime
- package multipart
- package net
- package http
- package cgi
- package cookiejar
- package fcgi
- package httptest
- package httputil
- package pprof
- package mail
- package rpc
- package jsonrpc
- package smtp
- package textproto
- package url
- package os
- package exec
- package signal
- package user
- package path
- package filepath
- package reflect
- package regexp
- package runtime
- package cgo
- package debug
- package pprof
- package race
- package sort
- package strconv
- package strings
- package sync
- package atomic
- package text
- package scanner
- package tabwriter
- package template
- package time
- package unicode
- package utf16
- package utf8
- package unsafe