[Golang]Go Packages
名称 | 摘要 | |
存档 | ||
tar | tar包实现了对档案的压缩。 | |
zip | zip程序包对读写ZIP文档提供支持。 | |
bufio | bufio包实现了输入/输出缓冲。它包含一个io.Reader或io.Writer对象,创建另一个同样实现了接口 但提供缓冲和一些I/O文本帮助的对象(Reader 或 Writer)。 | |
builtin | builtin包为Go预先声明的标识符提供文档。 | |
bytes | bytes包实现了对字节片的操作的方法。 | |
compress | ||
bzip2 | bzip2包实现了bzip2的解压。 | |
flate | flate包实现了DEFLATE压缩的数据格式,描述在RFC 1951。 | |
gzip | gzip包实现了gzip格式压缩文件的读和写,如RFC 1952中规定。 | |
lzw | lzw包实现了Lempel-Ziv-Welch压缩的数据格式,在T.A.Welch中规定,“一项针对高性能数据压缩的技术”,Computer, 17(6) (June 1984), pp 8-19. | |
zlib | zlib包实现了zlib格式压缩数据的读和写,如RFC 1950中规定。 | |
container | ||
heap | heap包为实现了heap.Interface的许多类型提供堆操作。 | |
list | list包实现了一个双链表。 | |
ring | ring包实现了在循环链表上的操作。 | |
crypto | crypto包收集公共的用密码写的常量。 | |
aes | aes包实现了AES(高级加密标准)加密(原先的Rijndael),在美国联邦信息处理标准出版197中定义。 | |
cipher | cipher包实现了标准块密码模式,可以绕在底层块密码的实现。 | |
des | des包实现了数据加密标准(DES)和三倍的数据加密算法(TDEA),在美国联邦信息标准出版46-3中定义。 | |
dsa | dsa包实现数字签名算法,如FIPS 186-3中定义。 | |
ecdsa | ecdsa包实现了椭圆曲线数字签名算法,如FIPS186-3中定义。 | |
elliptic | elliptic包实现了在基本领域上的几个标准的椭圆曲线。 | |
hmac | hmac包实现了Keyed-Hash信息认证码(HMAC),在美国联邦信息标准出版198中定义。 | |
md5 | md5包实现了MD5哈希算法,在RFC 1321中定义。 | |
rand | rand包实现了一个密码安全伪随机数字发生器。 | |
rc4 | rc4包实现了RC4加密,在Bruce Schneier的应用密码学中定义。 | |
rsa | rsab包实现了RSA加密,在PKCS#1中指出。 | |
sha1 | sha1包实现了SHA1哈希算法,在RFC 3174中定义。 | |
sha256 | sha256包实现了SHA224和SHA256哈希算法,在FIPS 180-4中定义。 | |
sha512 | sha512包实现了SHA384和SHA512哈希算法,在FIPS 180-2中定义。 | |
subtle | subtle包实现了那些通常在密码中有用的方法,但需要小心思考来正确使用。 | |
tls | tls包部分实现TLS 1.2,在RFC 5246中指定。 | |
x509 | x509包解析X.509-encoded键和证书。 | |
pkix | pkix包含有共享,底层结构用于ASN.1解析和序列化X.509证书,CRL和OCSP。 | |
database | ||
sql | sql包围绕SQL(或SQL一样)数据库提供一个通用的接口。 | |
driver | driver包定义了(被sql包使用的数据库驱动实现的)接口。 | |
debug | ||
dwarf | dwarf包提供访问从可执行文件中加载的DWARF调试信息,如在DWARF 2.0标准中定义http://dwarfstd.org/doc/dwarf-2.0.0.pdf。 | |
elf | elf包实现了访问ELF对象文件。 | |
gosym | gosym包实现了访问 通过gc编译器嵌入到Go二进制模块的Go符号和行号表。 | |
macho | macho包实现了访问Mach-O对象文件。 | |
pe | pe包实现了访问PE(微软的Windows可执行文件)文件。 | |
plan9obj | plan9obj实现了访问Plan 9 a.out对象文件。 | |
encoding | encoding包定义了被由字节级和文本表示转换数据的其它包共享的接口。 | |
ascii85 | ascii85包实现了在btoa工具 和 Adobe的PostScript和PDF文档格式中使用的ascii85数据的编码。 | |
asn1 | asn1包实现了DER-encoded ASN.1数据结构的解析,在ITU-T Rec X.690中定义。 | |
base32 | base32包实现了在RFC 4648中规定的base32编码。 | |
base64 | base64包实现了在RFC 4648中规定的base64编码。 | |
binary | binary包实现了数值与字节序列间简单的转化并且编码和解码varints(译者注:varints是用一个或多个字节序列化整形的一种方法)。 | |
csv | csv包读和写逗号分割值(CSV)的文件。 | |
gob | gob包管理在编码器(发送者)和解码器(接收者)间交换的gobs - binary值流。 | |
hex | hex包实现了十六进制的编码和解码。 | |
json | json包实现了在RFC 4627中定义的JSON对象的编码和解码。 | |
pem | pem包实现了起源于隐私增强邮件的PEM数据的编码。 | |
xml | xml实现了一个理解XML命名空间的简单XML 1.0解析器。 | |
errors | errors包实现了处理错误的方法。 | |
expvar | expvar包为公共变量提供一个标准的接口,像在服务器的运行计数器。 | |
flag | flag包实现了命令行标识分析。 | |
fmt | fmt包实现了类似于C的printf和scanf的带格式的输入/输出功能。 | |
go | ||
ast | ast包为Go包声明了被用来代表语法树的类型。 | |
build | build包收集有关Go包的信息。 | |
doc | doc包从Go AST中提取源代码文件。 | |
format | format包实现了Go本源的标准格式。 implements standard formatting of Go source. | |
parser | parser包实现了针对Go源文件的解析器。 | |
printer | printer包实现了AST节点的打印。 | |
scanner | scanner实现了针对Go源文本的扫描器。 | |
token | token包定义了代表Go编程语言词法标记的常量 和 标记的基础操作(printing,predicates)。 | |
hash | hash包为hash方法提供接口。 | |
adler32 | adler32包实现了Adler-32校验。 | |
crc32 | crc32包实现了32位周期垄余检测,或CRC-32(循环冗余码校验)。 | |
crc64 | crc64包实现了64位周期垄余检测,或CRC-64。 | |
fnv | fnv包实现了FNV-1 和 FNV-1a,Glenn Fowler,Landon Curt Noll和Phong Vo创建的非加密hash方法。 | |
html | html包为转义和非转义HTML文本提供方法。 | |
template | template (html/template)包实现了 在代码注入之前生成HTML安全输出的 数据驱动模板。 | |
image | image包实现了一个基础的2-D图片库。 | |
color | color包实现了一个基础的颜色库。 | |
palette | palette包提供标准的颜色调色板。 | |
draw | draw包提供图片合成方法。 | |
gif | gif包实现了一个GIF图片解码器和编码器。 | |
jpeg | jpeg包实现了一个JPEG图片解码器和编码器。 | |
png | png包实现了一个PNG图片解码器和编码器。 | |
index | ||
suffixarray | suffixarray包实现了在对数时间内使用内存中后缀数组的子串搜索。 | |
io | io包为原始I/O提供了基础的接口。 | |
ioutil | ioutil包实现了一些I/O实用方法。 | |
log | log实现了一个简单的记录包。 | |
syslog | syslog包为系统日志服务提供了一个简单的接口。 | |
math | math包提供了基础的常量和数学方法。 | |
big | big包实现了多精度运算(big numbers)。 | |
cmplx | cmplx包为复杂的数字提供基础常量和数学方法。 | |
rand | rand包实现了伪随机数发生器。 | |
mime | mime包实现了部分MIME规范。 | |
multipart | multipart包实现了MIME多部分解析,如在RFC 2046中定义。 | |
net | net包为网络I/O提供便携式接口,包括TCP/IP,UDP,域名解析,和Unix域套接字。 | |
http | http包提供HTTP客户端和服务端实现。 | |
cgi | cgi包实现了CGI(公共网关接口),如在RFC3875中定义。 | |
cookiejar | cookiejar包实现了一个在内存中的RFC 6265-兼容的http.CookieJar。 | |
fcgi | fcgi包实现了FastCGI协议。 | |
httptest | httptest包为HTTP testing 提供实用工具。 | |
httputil | httputil包提供HTTP实用方法,补充更常见的net/http包。 | |
pprof | pprof包通过pprof可视化工具为所期望格式的HTTP服务器运行时分析数据提供服务。 | |
mail包实现了邮件信息的解析。 | ||
rpc | rpc包提供通过网络或其它I/O连接 访问一个对象的输出方法。 | |
jsonrpc | jsonrpc包为rpc包实现了一个JSON-RPC ClientCodec和ServerCodec。 | |
smtp | smtp包实现了简单的邮件传输协议,在RFC 5321中定义的。 | |
textproto | textproto包实现了在HTTP,NNTP和SMTP风格下的通用的基于文本的请求/响应协议的支持。 | |
url | url包解析URLs并实现了请求转义。 | |
os | os包提供跨平台的接口来操作系统功能。 | |
exec | exec包运行外部的命令。 | |
signal | signal包实现了访问输入信号。 | |
user | user包允许通过name或id进行用户账户查询。 | |
path | path包实现了针对操作斜线分割路径的实用例程。 | |
filepath | filepath包针对操作文件名路径实现了实用的例程,在某种程度上兼容目标操作系统定义的文件路径。 | |
reflect | reflect包实现了运行时反射,允许一个程序用任意类型来处理对象。 | |
regexp | regexp包实现了正则表达式搜索。 | |
syntax | syntax包解析正则表达式成解析树并编译解析树到程序中。 | |
runtime | runtime包包含和Go的运行时系统相互作用的操作,就像功能控制概念。 | |
cgo | cgo包为cgo工具产生的代码提供运行支持。 | |
debug | debug包包含针对程序运行时的自动调试工具。 | |
pprof | pprof包使用pprof可视化工具写入所期望格式的运行时分析数据。 | |
race | race包实现了数据竞争检测逻辑。 | |
sort | sort包为部分排序和用户定义的集合提供原始的。 | |
strconv | strconv包实现了基础数据类型的字符串表示的转换。 | |
strings | strings包实现了操作字符串的简单方法。 | |
sync | sync包提供基础的原始同步,如相互排斥锁。 | |
atomic | atomic包提供有用的底层原始的原子内存来实现同步算法。 | |
syscall | syscall包包含一个针对底层原始系统操作的接口。 | |
testing | testing包为Go包的自动化测试提供支持。 | |
iotest | iotest包实现了有用的主要用于测试的读写器。 | |
quick | quick包实现了用来帮助黑盒测试的实用方法。 | |
text | ||
scanner | scanner包为UTF-8编码的文本提供一个扫描仪和分解器。 | |
tabwriter | tabwriter包实现了一个在输入的对齐文本中转换标签栏的写过滤器(tabwriter.Writer)。 | |
template | template包实现了为生成文本输出的数据-驱动模板。 | |
parse | parse包为用text/template和html/template定义的模板创建解析树。 | |
time | time包为测量和显示时间提供功能。 | |
unicode | unicode包提供数据和方法来测试一些Unicode码的性质。 | |
utf16 | utf16包实现了UTF-16序列的编码和解码。 | |
utf8 | utf8包实现了方法和常量来支持UTF-8文本编码。 | |
unsafe | unsafe包包含绕过Go程序类型安全的操作。 |
Other packagesSub-repositories
- crypto — 额外的密码包。
- image — 额外的图片包。
- net — 额外的网络包。
- sys — 为使系统调用的包。
- text — 处理文本的包。
- tools — godoc, vet, cover, and other tools.
- exp — 实验性代码(小心使用; 可能在无警告下变更)
Community
这些服务可以帮你找到由社区提供的开放源代码的程序包。
- GoDoc - 一个包的索引和搜索引擎.
- Go Search - 一个代码搜索引擎.
- Projects at the Go Wiki - Go项目策划名单
译自:http://tip.golang.so/pkg/ (Go官网镜像)
Refer:什么是Go_Packages