10.22. go标准库和三方库

10.22.1. 1.标准库

Go语言的标准库覆盖网络、系统、加密、编码、图形等各个方面,可以直接使用标准库的http包进行HTTP协议的收发处理; 网络库基于高性能的操作系统通信模型(Linux的epoll、Windows的IOCP);所有的加密、编码都内建支持,不需要再从第三方开发者处获取。 Go语言的编译器也是标准库的一部分,通过词法器扫描源码,使用语法树获得源码逻辑分支等。Go语言的周边工具也是建立在这些标准库上。在标准库上可以完成几乎大部分的需求。

Go语言的标准库以包的方式提供支持,如表1是Go语言标准库中常见的包及其功能。

表1 Go语言标准库常用的包及功能

标准库

功能

bufio

带缓冲的I/O操作

bytes

实现字节操作

container

封装堆、列表和环形列表等容器

crypto

加密算法

database

数据库驱动和接口

debug

各种调试文件格式访问及调试功能

encoding

常见算法如 JSON、XML、Base64 等

flag

命令行解析

fmt

格式化操作

go

Go语言的词法、语法树、类型等

html

HTML 转义及模板系统

image

常见图形格式的访问及生成

io

实现 I/O 原始访问接口及访问封装

math

数学库

net

网络库,支持 Socket、HTTP、邮件、RPC、SMTP 等

os

操作系统平台不依赖平台操作封装

path

兼容各操作系统的路径操作实用函数

plugin

Go 1.7 加入的插件系统。支持将代码编译为插件,按需加载

reflect

语言反射支持。

regexp

正则表达式封装

runtime

运行时接口

sort

排序接口

strings

字符串转换、解析及实用函数

time

时间接口

text

文本模板及 Token 词法器

10.22.2. 2.三方库

1.Go常用第三方库集锦

https://www.jianshu.com/p/c5a85c5b9cfa

2.优秀的 Go 存储开源项目和库

https://www.cnblogs.com/davygeek/p/6399967.html

3.开源仓库

https://www.topgoer.cn/docs/gokaiyuancangku/gokaiyuanchixujicheng