Go语言从入门到规范-6.1、Go常用包

Go语言从入门到规范-6.1、Go常用包


1、标准库

名称层级摘要
archive1
tar2tar包实现了tar格式压缩文件的存取.
zip2zip包提供了zip档案文件的读写服务.
bufio1bufio 包实现了带缓存的I/O操作.
builtin1builtin 包为Go的预声明标识符提供了文档.
bytes1bytes包提供了操作byte切片的函数
compress1
bzip22bzip2包实现了bzip2格式解压缩相关函数
flate2flate包提供了RFC 1951中描述的DEFLATE压缩数据格式的相关函数
gzip2gzip包实现了读写gzip格式的压缩文件,这是RFC 1952规定的。
lzw2Package lzw实现了Lempel-Ziv-Welch压缩数据格式,描述在T. A. Welch,“高性能数据压缩技术”,计算机,17(6)(1984年6月),pp 8-19。
zlib2包zlib实现读取和写入zlib格式的压缩数据,在rfc1950中指定。
container1
heap2包heap为任何实现了heap. interface的类型提供堆操作。
list2包list实现了一个双向链接列表。
ring2包ring实现循环列表上的操作。
crypto2Package crypto收集常用的密码常量。
aes2Package aes实现了美国联邦信息处理标准197出版物中定义的aes加密(以前Rijndael)。
cipher2包cipher实现了标准的块密码模式,可以包装在低级block cipher实现。
des2Package des实现了美国联邦信息处理标准出版物46-3中定义的数据加密标准des和三重数据加密算法TDEA。
dsa2数据包dsa实现了FIPS 186-3中定义的数字签名算法。
ecdsa2包ecdsa实现了FIPS 186-3中定义的椭圆曲线数字签名算法。
elliptic2Package elliptic在素数域上实现了几个标准椭圆曲线。
hmac2Package hmac实现了美国联邦信息处理标准198出版物中定义的键控哈希消息认证码(hmac)。
md52md5 包实现了在 RFC 1321 中定义的 MD5 哈希算法.
rand2Package rand实现了一个加密安全的伪随机数生成器。
rc42包rc4实现了Bruce Schneier的应用密码学中定义的rc4加密。
rsa2Package rsa实现了在PKCS#1中指定的rsa加密。
sha12包sha1实现了RFC 3174中定义的sha1哈希算法。
sha2562sha256包实现了FIPS 180-4中定义的SHA224和sha256哈希算法。
sha5122sha512包采用FIPS 180-2中定义的SHA384和sha512哈希算法。
subtle2Package subtle实现的函数通常在加密代码中很有用,但需要仔细考虑才能正确使用。
tls2Package tls部分实现了rfc5246中规定的tls 1.2。
x5092Package x509解析x .509编码的密钥和证书。
pkix3pkix包包含共享的低层结构,用于对X.509证书、CRL和OCSP进行ASN.1解析和序列化。
database1
sql2sql 包提供了通用的SQL(或类SQL)数据库接口.
driver3包driver定义由包sql使用的数据库驱动程序实现的接口。
debug1
dwarf2Package dwarf提供对从可执行文件加载的dwarf调试信息的访问,这在http://dwarfstd.org/doc/dwarf-2.0.0.pdf上的dwarf 2.0标准中有定义
elf2Package elf实现对elf对象文件的访问。
gosym2包gosym实现了对gc编译器生成的Go二进制文件中嵌入的Go符号和行号表的访问。
macho2Package macho实现了对Mach-O对象文件的访问。
pe2Package pe实现对pe (Microsoft Windows Portable Executable)文件的访问。
plan9obj2包plan9obj实现了对计划9a .out对象文件的访问。
encoding1包encoding定义了其他包共享的接口,这些接口在字节级和文本表示之间转换数据。
ascii852ascii85 包是对 ascii85 的数据编码的实现.
asn12包asn1实现了在ITU-T Rec X.690中定义的der编码的ASN.1数据结构的解析。
base322包base32实现了由RFC 4648指定的base32编码。
base642包base64实现了由RFC 4648指定的base64编码。
binary2包binary实现了数字和字节序列之间的简单转换以及变量的编码和解码。
csv2Package csv读写csv(逗号分隔值)文件。
gob2包gob管理gob流——在编码器(发送器)和解码器(接收器)之间交换的二进制值。
hex 2Package hex实现十六进制编码和解码。
json2Package json实现了RFC 4627中定义的json对象的编码和解码。
pem2包pem实现pem数据编码,它起源于隐私增强邮件。
xml2Package xml实现了一个简单的xml 1.0解析器,它可以理解xml名称空间。
errors1error 包实现了用于错误处理的函数.
expvar1Package expvar为公共变量提供了一个标准化的接口,比如服务器中的操作计数器。
flag1flag 包实现命令行标签解析.
fmt1fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf.
go1
ast2包ast声明了用于表示Go包语法树的类型。
build2包build收集关于Go包的信息。
doc2Package doc从Go AST中提取源代码文档。
format2包格式实现了Go源代码的标准格式。
parser2Package parser为Go源文件实现了一个解析器。
printer2包printer实现打印AST节点。
scanner2包扫描器实现了一个扫描器的Go源文本。
token2Package token定义了表示Go编程语言的词法标记和标记的基本操作(打印、谓词)的常量。
hash1Package hash提供hash功能接口。
adler322包adler32实现Adler-32校验和。
crc322包crc32实现32位循环冗余校验或CRC-32校验和。
crc642crc64包实现64位循环冗余校验,即CRC-64校验和。
fnv2Package fnv实现了由Glenn Fowler、Landon Curt Noll和Phong Vo创建的非加密哈希函数fnv -1和fnv -1a。
html1Package html提供了转义和非转义html文本的函数。
template2Package template (html/template)实现了数据驱动的模板,用于生成安全的html输出,防止代码注入。
image1Package image实现了一个基本的二维图像库。
color2color 包实现了基本的颜色库。
palette3Package palette提供标准的调色板。
draw2draw 包提供组装图片的方法.
gif2gif 包实现了GIF图片的解码.
jpeg2包jpeg实现jpeg图像解码器和编码器。
png2png 包实现了PNG图像的编码和解码.
index1
suffixarray2Package suffixarray使用内存中的后缀数组在对数时间内实现子字符串搜索。
io1io 包为I/O原语提供了基础的接口.
ioutil2ioutil 实现了一些I/O的工具函数。
log1包log实现了一个简单的日志包。
syslog2包syslog为系统日志服务提供了一个简单的接口。
math1math 包提供了基本常数和数学函数。
big2big 包实现了(大数的)高精度运算.
cmplx2cmplx 包为复数提供了基本的常量和数学函数.
rand2rand 包实现了伪随机数生成器.
mime1包mime实现了mime规范的部分内容。
multipart2Package multipart实现了RFC 2046中定义的MIME多部分解析。
net1Package net为网络I/O提供了一个可移植的接口,包括TCP/IP、UDP、域名解析和Unix域套接字。
http2包http提供http客户端和服务器实现。
cgi3cgi 包实现了RFC3875协议描述的CGI(公共网关接口).
cookiejar3包cookiejar实现了一个内存中兼容RFC 6265的http.CookieJar。
fcgi3fcgi 包实现了FastCGI协议.
httptest3httptest 包提供HTTP测试的单元工具.
httputil3Package httputil提供了HTTP实用程序功能,补充了net/http包中更常见的功能。
pprof3pprof 包通过提供HTTP服务返回runtime的统计数据,这个数据是以pprof可视化工具规定的返回格式返回的.
mail2mail 包实现了解析邮件消息的功能.
rpc2rpc 包提供了一个方法来通过网络或者其他的I/O连接进入对象的外部方法.
jsonrpc3jsonrpc 包使用了rpc的包实现了一个JSON-RPC的客户端解码器和服务端的解码器.
smtp2包smtp实现了rfc5321定义的简单邮件传输协议。
textproto2Package textproto实现了对HTTP、NNTP和SMTP风格的基于文本的请求/响应协议的通用支持。
url2Package url解析url并实现查询转义。
os1Package os提供了一个独立于平台的操作系统功能接口。
exec2Package exec运行外部命令。
signal2包signal实现对传入信号的访问。
user2包user允许根据名称或id查找用户帐户。
path1包path实现了用于操作斜杠分隔路径的实用程序例程。
filepath2Package filepath实现了以与目标操作系统定义的文件路径兼容的方式操作文件名路径的实用程序例程。
reflect1Package reflect实现了运行时反射,允许程序操作任意类型的对象。
regexp1包regexp实现正则表达式搜索。
syntax2包syntax将正则表达式解析为解析树,并将解析树编译为程序。
runtime1TODO(osc): 需更新 runtime 包含与Go的运行时系统进行交互的操作,例如用于控制Go程的函数.
cgo2cgo 包含有 cgo 工具生成的代码的运行时支持.
debug2debug 包含有程序在运行时调试其自身的功能.
pprof2pprof 包按照可视化工具 pprof 所要求的格式写出运行时分析数据.
race2race 包实现了数据竞争检测逻辑.
sort1sort 包为切片及用户定义的集合的排序操作提供了原语.
strconv1包strconv实现了与基本数据类型的字符串表示之间的转换。
strings1包字符串实现了简单的函数来操作字符串。
sync1sync 包提供了互斥锁这类的基本的同步原语.
atomic2atomic 包提供了底层的原子性内存原语,这对于同步算法的实现很有用.
syscall1包syscall包含一个到底层操作系统原语的接口。
testing1包testing提供了对Go包的自动化测试的支持。
iotest2包iotest实现了主要用于测试的读取器和写入器。
quick2Package quick实现了一些实用功能来帮助进行黑盒测试。
text1
scanner2包scanner为utf -8编码的文本提供了一个扫描器和标记器。
tabwriter2包tabwriter实现了一个写过滤器(tabwriter. writer),它将输入中的制表列转换为正确对齐的文本。
template2Package template实现了用于生成文本输出的数据驱动模板。
parse2Package parse为text/template和html/template定义的模板构建解析树。
time1包time提供了测量和显示时间的功能。
unicode1unicode 包提供了一些测试Unicode码点属性的数据和函数.
utf162utf16 包实现了对UTF-16序列的编码和解码。
utf82utf8 包实现了支持UTF-8文本编码的函数和常量.
unsafe1unsafe 包含有关于Go程序类型安全的所有操作.

2、其它包

(1)、子代码库

这些包是 Go 项目的一部分,但并未在主源码树中。它们在比 Go 核心库更加宽松的兼容性需求下开发。 可通过“go get”安装它们.

  • crypto — 附加的加密包。
  • image — 附加的图像包。
  • net — 附加的网络包。
  • sys — 系统调用包。
  • text — 文本处理包。
  • tools — godoc、vet、cover 及其它工具。
  • exp — 实验性代码(可能不经警告就更改,请小心对待)。
(2)、社区

这些服务可帮你寻找社区提供的开源包。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称系统有问题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值