包结构 [1.12.5] (数据包及一层数据包描述)

  1. 常用功能库 01 archive // 归档, 打包解压缩功能
  2. => tar包, 实现了tar格式压缩文件的存取
  3. => zip包, 提供了zip档案文件的读写服务
  4. 基础包 02 bufio // I/O 接口, 缓冲层实现
  5. 核心包 03 builtin // 预声明标识符, 常用基本数据类型
  6. 基础包 04 bytes // 字节相关操作实现
  7. 核心包 05 cmd //
  8. => addr2line
  9. => api
  10. => asm
  11. => buildid
  12. => cgo
  13. => compile
  14. => cover
  15. => dist
  16. => doc
  17. => fix
  18. => go
  19. => gofmt
  20. => internal
  21. => link
  22. => nm
  23. => objdump
  24. => pack
  25. => pprof
  26. => test2json
  27. => trace
  28. => vendor
  29. 常用功能库 06 compress // 解压缩数据算法实现
  30. => bzip2包, 实现bzip2的解压缩
  31. => flate包, 实现了deflate压缩数据格式 (RFC 1951)
  32. => gzip , 实现了gzip格式压缩文件的读写 (RFC 1952)
  33. => lzw , 实现了Lempel-Ziv-Welch数据压缩格式
  34. => zlib , 实现了对zlib格式压缩数据的读写 (RFC 1950)
  35. 基础包 07 container // 容器实现, 常用数据结构实现
  36. => heap包, 提供了对任意类型(实现了heap.Interface接口)的堆操作
  37. => list包, 实现了双向链表
  38. => ring包, 实现了环形链表的操作
  39. 08 context // 上下文实现
  40. 常用功能库 09 crypto // 常用加解密算法实现
  41. => aes 实现了AES加密算法
  42. => cipher 实现了多个标准的用于包装底层块加密算法的加密算法实现
  43. => des 实现了DES标准和TDEA算法
  44. => dsa 实现FIPS 186-3定义的数字签名算法(Digital Signature Algorithm, DSA
  45. => ecdsa 实现了椭圆曲线数字签名算法,参见FIPS 186-3
  46. => elliptic 实现了几条覆盖素数有限域的标准椭圆曲线
  47. => hmac 实现了HMAC(加密哈希信息认证码)
  48. => internal
  49. => md5 实现了MD5哈希算法,参见RFC 1321
  50. => rand 实现了用于加解密的更安全的随机数生成器
  51. => rc4 实现了RC4加密算法
  52. => rsa 实现了PKCS#1规定的RSA加密算法
  53. => sha1 实现了SHA1哈希算法,参见RFC 3174
  54. => sha256 实现了SHA224SHA256哈希算法,参见FIPS 180-4
  55. => sha512 实现了SHA384SHA512哈希算法,参见FIPS 180-2
  56. => subtle
  57. => tls 实现了TLS 1.2,细节参见RFC 5246
  58. => x509 解析X.509编码的证书和密钥, pkix包提供了共享的、低层次的结构体,用于ASN.1解析和X.509证书、CRLOCSP的序列化
  59. 数据库 10 database // 数据库相关接口定义
  60. => sql包, 提供了通用的SQL(或类SQL)数据库接口 (driver包, 定义了应被数据库驱动实现的接口, 这些接口会被sql包使用)
  61. 11 debug //
  62. => dwarf
  63. => elf
  64. => gosym
  65. => macho
  66. => pe
  67. => plan9obj
  68. 常用功能库 12 encoding // 编解码实现, 定义了供其它包使用的可以将数据在字节水平和文本表示之间转换的接口
  69. => ascii85 ascii85 的数据编码的实现
  70. => asn1 实现了DER编码的ASN.1数据结构的解析,参见ITU-T Rec X.690
  71. => base32 实现了RFC 4648规定的base32编码
  72. => base64 实现了RFC 4648规定的base64编码
  73. => binary 实现了简单的数字与字节序列的转换以及变长值的编解码
  74. => csv csv读写逗号分隔值(csv)的文件
  75. => gob 管理gob流——在编码器(发送器)和解码器(接受器)之间交换的binary
  76. => hex 实现了16进制字符表示的编解码
  77. => json 实现了json对象的编解码,参见RFC 4627
  78. => pem 实现了PEM数据编码(源自保密增强邮件协议)
  79. => xml
  80. 基础包 13 errors // 错误(类型)定义
  81. 核心包 14 expvar // 公共变量的标准接口, 常用数据类型
  82. 基础功能库 15 flag // 命令行标签解析, 命令参数解析
  83. 基础功能库 16 fmt // 实现了格式化I/O函数
  84. 核心包 17 go //
  85. => ast
  86. => build
  87. => constant
  88. => doc
  89. => format
  90. => importer
  91. => internal
  92. => parser
  93. => printer
  94. => scanner
  95. => token
  96. => types
  97. 常用功能库 18 hash // 常用HASH算法实现, 校验签名算法
  98. => adler32 实现了Adler-32校验和算法,参见RFC 1950
  99. => crc32 实现了32位循环冗余校验(CRC-32)的校验和算法
  100. => crc64
  101. => fnv 实现了FNV-1FNV-1a(非加密hash函数)
  102. 网络库 19 html // 用于转义和解转义HTML文本
  103. => template包(html/template)实现了数据驱动的模板, 用于生成可对抗代码注入的安全HTML输出
  104. 20 image // 2D图片库
  105. => color 实现了基本的颜色库(palette包, 提供了标准的调色板)
  106. => draw 提供组装图片的方法
  107. => gif 实现了GIF图片的解码
  108. => internal (imageutil)
  109. => jpeg 实现了jpeg格式图像的编解码
  110. => png 实现了PNG图像的编码和解码
  111. 21 index
  112. => suffixarrayb包, 通过使用内存中的后缀树实现了对数级时间消耗的子字符串搜索
  113. 核心包 22 internal
  114. => bytealg
  115. => cpu
  116. => fmtsort
  117. => goroot
  118. => nettrace
  119. => poll
  120. => race
  121. => singleflight
  122. => syscall
  123. => testenv
  124. => testlog
  125. => trace
  126. => x
  127. => xcoff
  128. 基础包 23 io // I/O 接口相关
  129. => ioutil
  130. 基础功能库 24 log // 实现了简单的日志服务
  131. => syslog 包, 提供一个简单的系统日志服务的接口
  132. 常用功能库 25 math // 基本常数和数学函数
  133. => big 实现了(大数的)高精度运算
  134. => bits
  135. => cmplx 为复数提供了基本的常量和数学函
  136. => rand 实现了伪随机数生成器
  137. 网络库 26 mime // MIME的部分定义
  138. => multipart包, 实现了MIMEmultipart解析,参见RFC 2046
  139. => quotedprintable
  140. 网络库 27 net // 网络包, 可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket
  141. => http 提供了HTTP客户端和服务端的实现
  142. => cgi 实现了RFC3875协议描述的CGI(公共网关接口)
  143. => cookiejar 实现了保管在内存中的符合RFC 6265标准的http.CookieJar接口
  144. => fcgi 实现了FastCGI协议
  145. => httptest 提供HTTP测试的单元工具
  146. => httptrace
  147. => httputil 提供了HTTP公用函数,是对net/http包的更常见函数的补充
  148. => internal
  149. => pprof 通过提供HTTP服务返回runtime的统计数据,规定的返回格式返回
  150. => internal
  151. => mail 解析邮件消息的功能
  152. => rpc 提供了一个方法来通过网络或者其他的I/O连接进入对象的外部方法
  153. => jsonrpc包, 使用了rpc的包实现了一个JSON-RPC的客户端解码器和服务端的解码器.
  154. => smtp 实现了简单邮件传输协议(SMTP),参见RFC 5321
  155. => textproto 实现了对基于文本的请求/回复协议的一般性支持,包括HTTPNNTPSMTP
  156. => url 解析URL并实现了查询的逸码,参见RFC 3986
  157. 基础功能库 28 os // 操作系统相关功能和接口实现
  158. => exec
  159. => signal
  160. => user
  161. 基础功能库 29 path // 地址路径解析包
  162. => filepath 文件路径解析
  163. 30 plugin // 插件接口
  164. 高级库 31 reflect // 运行时反射, 允许程序操作任意类型的对象
  165. 常用功能库 32 regexp // 正则表达式搜索
  166. => syntax
  167. 高级库 33 runtime // TODO(osc) 需更新 runtime 包含与Go的运行时系统进行交互的操作
  168. => cgo cgo 工具生成的代码的运行时支持
  169. => debug 程序在运行时调试其自身的功能
  170. => internal
  171. => msan
  172. => pprof 按照可视化工具 pprof 所要求的格式写出运行时分析数据
  173. => race 实现了数据竞争检测逻辑
  174. => trace
  175. 基础包 34 sort // 为切片及用户定义的集合的排序操作
  176. 基础包 35 strconv // 实现了基本数据类型和其字符串表示的相互转化
  177. 基础包 36 strings // 用于操作字符的简单函数
  178. 高级库 37 sync // 互斥锁这类的基本的同步原语
  179. => atomic 提供了底层的原子性内存原语, 同步算法的实现实现很有用
  180. 38 syscall
  181. => js
  182. 39 testing
  183. => internal
  184. => iotest
  185. => quick
  186. 40 text //
  187. => scanner 提供对utf-8文本的token扫描服务
  188. => tabwriter 实现了写入过滤器(tabwriter.Writer),可以将输入的缩进修正为正确的对齐文本
  189. => template 实现了数据驱动的用于生成文本输出的模板 (parse)
  190. 基础功能库 41 time // 时间的显示和测量用的函数
  191. 常用功能库 42 unicode // 测试Unicode码点属性的数据和函数
  192. => utf16, UTF-16序列的编码和解码
  193. => utf8, UTF-8文本编码的函数和常量
  194. 高级库 43 unsafe // Go程序类型安全的所有操作
[包结构分析]

    : 总包数目, 43 个

  : 包结构划分 : 核心包结构、基础包结构、功能包库 (数据处理库、网络库、标准输入输出库)
  // 核心包结构 : GO语言运行最小功能核心包数目

[核心包 5] 8

17 go
03 builtin    // 预声明标识符, 常用基本数据类型
14 expvar     // 公共变量的标准接口, 常用数据类型
22 internal
05 cmd

[基础包 8]

02 bufio      // I/O 接口, 缓冲层实现
04 bytes      // 字节相关操作实现
07 container  // 容器实现, 常用数据结构实现
23 io         // I/O 接口相关
34 sort     // 为切片及用户定义的集合的排序操作
35 strconv  // 实现了基本数据类型和其字符串表示的相互转化
36 strings  // 用于操作字符的简单函数
13 errors     // 错误(类型)定义

[基础功能库 6]
15 flag       // 命令行标签解析, 命令参数解析
16 fmt        // 实现了格式化I/O函数
24 log        // 实现了简单的日志服务
28 os         // 操作系统相关功能和接口实现
29 path       // 地址路径解析包
41 time     // 时间的显示和测量用的函数

[高级库 4]
31 reflect  // 运行时反射, 允许程序操作任意类型的对象
33 runtime  // TODO(osc) 需更新 runtime 包含与Go的运行时系统进行交互的操作
37 sync     // 互斥锁这类的基本的同步原语
43 unsafe   // Go程序类型安全的所有操作

[常用功能库 8]
01 archive    // 归档, 打包解压缩功能
06 compress   // 解压缩数据算法实现
09 crypto     // 常用加解密算法实现
12 encoding   // 编解码实现
18 hash       // 常用HASH算法实现, 校验签名算法
25 math       // 基本常数和数学函数
32 regexp   // 正则表达式搜索
42 unicode  // 测试Unicode码点属性的数据和函数

[数据库 1]
10 database   // 数据库相关接口定义

[网络库 3]
19 html       // 用于转义和解转义HTML文本
26 mime     // MIME的部分定义
27 net      // 网络包, 可移植的网络I/O接口,包括TCP/IP、UDP、域名解析和Unix域socket