Go lib依赖包整理

achieve包
achieve/tar  //unix系统常用的解压缩格式
achieve/zip  //windows系统常用的解压缩格式
上述两个包均为实现数据的不同格式解压缩
compress包
功能正如其名字之意 —— 压缩,其提供的数据压缩格式见下述子包:
compress/bzip2 //bzip2包实现bzip2的解压缩
compress/flate //flate包实现了deflate压缩数据格式
compress/gzip //gzip包实现了gzip格式压缩文件的读写
compress/lzw //lzw包实现了Lempel-Ziv-Welch数据压缩格式
compress/zlib //zlib包实现了对zlib格式压缩数据的读写

那上述集中压缩格式有什么区别呢?

bzip2:
deflate:
gzip:
Lempel-Ziv-Welch:
zlib:
container包
container/heap  //heap包提供了对任意数据类型的堆(注:堆是具有“每个节点都是以其为根的子树中最小值”属性的树)操作
container/list  //list包实现了双向链表,故提供对双向链表的操作
container/ring  //ring包实现了环形链表
context包
context  //context包定义了context类型,它跨API边界和进程之间携带截止日期、取消信号和其他请求范围内的值
context.TODO()与context.BackGround()的区別:本质上两个底层源代码上实现是一样的,一般建议的是确定使用情况和在main线程里面使用context.BackGround(),在不知道使用场景的时候使用context.TODO()
crypto包
crypto/aes  //aes包实现了AES加密算法
cypto/cipher  //cipher包实现了多个标准的用于包装底层块加密算法的加密算法实现
cypto/des  //des包实现了DES标准和TDEA算法
cypto/dsa  //dsa包实现FIPS 186-3定义的数字签名算法(Digital Signature Algorithm),即DSA算法
cypto/ecdsa  //ecdsa包实现了椭圆曲线数字签名算法
cypto/ed25519  //ed25519实现了ed25519签名算法
cypto/elliptic   //elliptic包在素数域上实现了几条标准椭圆曲线
注:cypto除了实现上述各类签名算法外还实现了hmac, md5, sha256, tls, sha1, sha512等哈希算法,具体可自行参考官方依赖库
database包
database/sql   //sql包实现了sql基本操作接口,比如sql包下的driver包,该包便实现了sql驱动相关的接口
debug包
debug/dwarf   //dwarf包实现了可执行文件的调试信息
debug/elf     //elf包实现了对ELF对象文件的访问接口
debug/gosym   //gosym实现了对gc编译器生成的go二进制文件中嵌入的go符号和行号表的访问接口
debug/macho   //macho包实现了Mach-O对象文件的访问接口
debug/pe    //pe包实现了对PE文件的访问接口
debug/plan9obj  //plan9obj包实现了 Plan 9 a.out对象文件的访问接口
embed包
embed   //embed包提供对嵌入在运行的GO程序中的文件的访问
encoding包
encoding/askii85  //askii85包实现了在btoa工具和Adobe的PostScript和PDF文档格式中使用的ascii 85数据编码
encoding/asn1   //asn1包实现了对DER编码的ASN.1数据结构的解析,如itu-T Rec X.690中所定义的那样
encoding/base32 //base32包实现了RFC4648制定的base32编码
encoding/base64 //base64包实现了RFC4648制定的base64编码
encoding/binary  //binary包实现了实现数字和字节序列之间的简单转换以及varint的编码和解码
encoding/csv     //csv包实现了读和写逗号分隔值(CSV)文件基本操作
encoding/gob    //gob包管理采空区流-在编码器(发射机)和解码器(接收器)之间交换的二进制值。
encoding/hex   //hex包实现了16进制解码和编码操作
encoding/json //json包实现了RFC7159制定的编码和解码操作
encoding/pem  //pem包实现了起源于隐私增强文件的PEM数据编码操作
encoding/xml   //xml包实现了一个简单的XML1.0解析器,它可以理解XML名称空间
errors包
errors   //errors包实现了操作错误(errors)函数
expvar包
expvar  //expvar包为公共变量(如服务器中的操作计数器)提供了标准化的接口
flag包
flag  //flag包显现了命令行flag标志解析
fmt包
fmt  //fmt包实现了格式化的I/O,其功能类似于C的printf和snf
go包
go/ast  //ast包声明用于表示GO包的语法树的类型
go/build  //build包收集有关GO包的信息
go/build/constraint  //constraint包实现了构建约束行的解析和计算
go/constant //constant包实现表示非类型化GO常量的值及其相应的操作
go/doc   //doc包从Go AST中提取源代码文档
go/format //format包实现GO源的标准格式
go/importer  //importer包提供对出口数据importer的访问
go/parser   //parser包实现了GO源文件的解析器
go/printer  //printer包实现AST节点的打印
go/scanner  //scanner包实现了一个用于GO源文本的扫描器
go/token   //token包定义了表示GO编程语言的词法标记的常量和令牌(token)上的基本操作(打印、谓词)
go/types   //types包声明数据类型,并实现GO包类型检查的算法
hash包(提供hash函数相关的接口)
hash/adler32   //adler32包实现了adler-32校验和
hash/crc32    //crc32包实现32位循环冗余检查,或CRC-32校验和
hash/crc64    //crc64包实现64位循环冗余检查,或CRC-64校验和
hash/fnv      //fnv包实现由glenn fowler、Landon Curt Noll和Phong Vo创建的fnv-1和fnv-1a,非加密散列函数
hash/maphash  //maphash包提供字节序列上的散列函数
html包(提供了转义和取消转义HTML文本的功能)
html/template  //template包实现数据驱动的模板,以生成不受代码注入影响的HTML输出
image包(实现了一个基本的D-2 image库)
image/color  //color包实现了一个基本的color库
image/color/palette //palette包调色板提供标准调色板
image/draw   //draw包提供图像绘画功能
image/gif   //gif包实现了GIF图像解码器和编码器
image/jpeg  //jpeg包实现了JPEG图像解码器和编码器
image/png //png包实现了PNG图像解码器和编码器
index包
index/suffixarray  //suffixarray包使用内存后缀数组在对数时间内实现子字符串搜索
io包(为I/O原语提供基本接口)
io/fs  //fs包定义了文件系统的基本接口
io/ioutil  //ioutil包实现了一些I/O实用函数
log包(实现了一个简单的日志包)
log/syslog  //syslog包为系统日志服务提供了一个简单的接口
math包(提供基本常量和数学函数)
math/big  //big包实现任意精度算法(大数)
math/bits  //bits包为预声明的无符号整数类型实现了位计数和操作功能
math/complex  //complex包为复数提供基本常量和数学函数
math/rand   //rand包实现了不适合安全敏感工作的伪随机数生成器
mime包(实现了MIME规范的一部分)
mime/multipart  //multipart包实现MIME多部分解析,如RFC 2046中定义的那样
mime/quotedprintable  //quotedprintable包实现.rfc 2045指定的可打印编码
net包(为网络I/O提供了一个可移植的接口,包括tcp/ip、udp、域名解析和unix域套接字)
net/http  //http包提供HTTP客户端和服务器实现
net/http/cgi //cgi包CGI实现了RFC 3875中指定的CGI(通用网关接口)
net/http/cookiejar  //cookiejar包实现内存中的RFC 6265兼容http.CookieJa
net/http/fcgi   //fcgi包实现了FastCGI包
net/http/httptest  //httptest包为HTTP测试提供实用程序
net/http/httptrace //httptrace包提供了跟踪HTTP客户端请求中事件的机制
net/http/httputil   //httputil包提供HTTP实用程序功能,补充了net/http包中更常见的功能
net/http/pprof   //pprof包通过其HTTP服务器运行时分析数据以pprof可视化工具所期望的格式提供服务
net/mail   //mail包实现邮件消息的解析
net/rpc   //rpc包c通过网络或其他I/O连接提供对对象的导出方法的访问
net/rpc/jsonrpc  //jsonrpc包为RPC包实现了JSON-RPC 1.0 ClientCodec和ServerCodec
net/smtp   //smtp包实现了RFC 5321中定义的简单邮件传输协议
net/textproto  //textproto包以HTTP、NNTP和SMTP的样式实现了对基于文本的请求/响应协议的通用支持
net/url   //url 包解析URL并实现查询转义
os包(提供了与平台无关的操作系统功能接口)
os/exec //exec包运行外部命令,如shell命令之类
os/signal  //signal包实现对传入信号的访问
os/user   //user包允许按名称或id查找用户帐户
path包(实现了操作斜杠分隔路径的实用程序)
path/filepath  //filepath包以与目标操作系统定义的文件路径兼容的方式实现了用于操作文件名路径的实用例程
plugin包(实现了GO插件的加载和符号解析)
reflect包(反射实现运行时反射,允许程序操纵具有任意类型的对象)
regexp包(实现正则表达式搜索)
regexp/syntax  //syntax包将正则表达式解析为解析树,并将解析树编译为程序
runtime包(包含与GO运行时系统交互的操作,例如控制goroutines的函数)
runtime/cgo  //cgo包包含对CGO工具生成的代码的运行时支持
runtime/debug //debug包包含程序在运行时调试自己的功能
runtime/metrics //metrics包提供了一个稳定的接口来访问GO运行时导出的实现定义的度量
runtime/pprof //pprof包以pprof可视化工具所期望的格式写入运行时分析数据
runtime/race  //race包实现了数据竞争检测逻辑
runtime/trace //trace包包含程序生成GO执行跟踪程序跟踪的工具
sort包(提供了用于对片和用户定义的集合进行排序的原语)
strconv包(实现基本数据类型与字符串表示形式之间的转换)
strings包(实现了操作utf-8编码字符串的简单函数)
sync包(提供了基本的同步原语,例如互斥锁)
sync/atomic  //atomic包提供了用于实现同步算法的低级原子内存原语
syscall包(包含到底层操作系统原语的接口)
syscall/js   //js包当使用js/wasm体系结构时,包js允许访问WebAssembly主机环境
testing包(为GO包的自动化测试提供支持)
testing/fstest   //fstest包实现了对文件系统实现和用户测试的支持
testing/iotest   //iotest包实现了主要用于测试的读取器和写
testing/quick   //quick包实现实用程序函数以帮助黑盒测试
text包
text/scanner  //scanner包为UTF-8编码的文本提供了扫描器和标记器
text/tabwriter  //tabwriter包实现了一个写过滤器(tabWriter.Writer),它将输入中的选项卡列转换为对齐的文本
text/template  //template包实现数据驱动的模板以生成文本输出
text/parse    //parse包为文本/模板和html/模板定义的模板构建解析树
time包(提供了计算和显示时间的功能)
time/tzdata   //tzdata包提供时区数据库的嵌入式副本
unicode包(提供数据和函数来测试Unicode代码点的一些属性)
Unicode/utf16  //utf16包实现了UTF-16序列的编码和解码
Unicode/utf8     //utf8包实现函数和常量以支持以utf-8编码的文本
unsafe包(包含绕过GO程序类型安全性的操作)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值