Golang标准库总览

Golang标准库总览

  • 常用包
  • 编程相关包
  • 系统相关包
  • 文件操作相关包
  • 编码、标准、加密相关包

参考资料

常用包

  • math:提供了基本的数学常数和数学函数
    子包:big、cmplx、rand
    time:提供了时间的显示和测量用的函数。日历的计算采用的是公历。
  • sort:排序
  • strconv:sting转换
  • strings:string操作
  • bytes:实现了操作[]byte的常用函数。本包的函数和strings包的函数相当类似。
  • database:数据库操作
    子包:sql、sql/driver
  • regexp:实现了正则表达式搜索
    子包:syntax:将正则表达式解析为解析树,并将解析树编译为程序。

编程相关包

  • go
    子包:ast、build、constant、doc、format、importer、parser、printer、scanner、token、types
  • debug:代码调试
    子包:dwarf、elf、gosym、macho、pe、plan9obj
  • net:提供了可移植的网络I/O接口
    子包:http、mail、rpc、rpc/jsonrpc、smtp、textproto、url
    • http子包:cgi、cookiejar、fcgi、httptest、httptrace、httputil、pprof
    • io:提供了对I/O原语的基本接口
      子包:ioutil:实现部分IO函数。
  • bufio:实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象。
    • container:实现堆、链表、环
      子包:heap、list、ring
  • runtime:提供和go运行时环境的互操作,也包括用于reflect包的低层次类型信息。
    子包:cgo、debug、pprof、race、trace
  • log:实现了简单的日志服务
    子包:syslog:提供一个简单的系统日志服务的接口
  • testing:提供对 Go 包的自动化测试的支持
    子包:iotest(实现了主要用于测试的Readers和Writers)、quic(实现实用程序功能,以帮助进行黑盒测试)
  • html:提供了用于转义和解转义HTML文本的函数
    子包:template:实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出
  • text
    子包:scanner、tabwriter、template、template/parse
  • errors:实现了创建错误值的函数
  • expvar:提供了公共变量的标准接口
  • flag:实现了命令行参数的解析
  • fmt:实现了类似C语言printf和scanf的格式化I/O
    unsafe:提供了一些跳过go语言类型安全限制的操作。
  • sync:提供了基本的同步基元,如互斥锁
    子包:atomic(提供了底层的原子级内存操作)
  • context:定义了上下文类型,它在API边界和进程之间携带截止日期、取消信号和其他请求范围的值。
  • reflect:实现了运行时反射,允许程序操作任意类型的对象。
    index/suffixarray:通过使用内存中的后缀树实现了对数级时间消耗的子字符串搜索。

系统相关包

  • os:提供了操作系统函数的不依赖平台的接口
    子包:exec、signal、user
  • syscall:包含一个到低级操作系统原语的接口。详细信息因底层系统而异,默认情况下,godoc将显示当前系统的syscall文档
  • path:实现了对斜杠分隔的路径的实用操作函数
    子包:filepath:实现了兼容各操作系统的文件路径的实用操作函数

文件操作相关包

  • archive:文件操作相关
    子包:tar、zip
  • image:图像处理
    子包:color、color/palette、draw、gif、peg、png

编码、标准、加密相关包

  • builtin:为Go的预声明标识符提供了文档
  • plugin:包插件实现了Go插件的加载和符号解析。目前插件仅适用于Linux。
  • compress:压缩数据格式相关
    子包(5种压缩格式):bzip2、late、gzip、lzw、lib。
  • crypto:加密相关
    子包:aes、cipher、des、dsa、ecdsa、elliptic、hmac、md5、rand、rc4、rsa、sha1、sha256、sha512、subtle、tls、x509、x509/pkix
  • encoding:编码相关
    子包:ascii85、asn1、base32、base64、binary、csv、gob、hex、json、pem、xml
  • unicode:国际标准字符集
    子包:utf16、utf8
  • hash:哈希函数
    子包:adler32、crc32、crc64、fnv
  • mime:实现部分MIME协议
    子包:multipart、quotedprintable

你可能感兴趣的:(golang)