Go语言常用内置包简介

< 上一页Go语言GOPATH Go语言自定义包下一页 >

标准的 Go语言代码库中包含了大量的包,并且在安装 Go 的时候多数会伴随一起安装。浏览 $GOROOT/src/pkg 目录并且查看那些包会非常有启发。无法对每个包就加以解说,不过下面的这些值得讨论:

1) fmt

包 fmt 实现了格式化的 I/O 函数,这与 C 的 printf 和 scanf 类似。格式化短语派生于 C 。一些短语(%-序列)这样使用:
  • %v:默认格式的值。当打印结构时,加号(%+v)会增加字段名;
  • %#v:Go 样式的值表达;
  • %T:带有类型的 Go 样式的值表达;

2) io

这个包提供了原始的 I/O 操作界面。它主要的任务是对 os 包这样的原始的 I/O 进行封装,增加一些其他相关,使其具有抽象功能用在公共的接口上。

3) bufio

这个包实现了缓冲的 I/O。它封装于 io.Reader 和 io.Writer 对象,创建了另一个对象(Reader 和 Writer)在提供缓冲的同时实现了一些文本 I/O 的功能。

4) sort

sort 包提供了对数组和用户定义集合的原始的排序功能。

5) strconv

strconv 包提供了将字符串转换成基本数据类型,或者从基本数据类型转换为字符串的功能。

6) os

os 包提供了与平台无关的操作系统功能接口。其设计是 Unix 形式的。

7) sync

sync 包提供了基本的同步原语,例如互斥锁。

8) flag

flag 包实现了命令行解析。

9) encoding/json

encoding/json 包实现了编码与解码 RFC 4627 定义的 JSON 对象。

10) html/template

数据驱动的模板,用于生成文本输出,例如 HTML。

将模板关联到某个数据结构上进行解析。模板内容指向数据结构的元素(通常结构的字段或者 map 的键)控制解析并且决定某个值会被显示。模板扫描结构以便解析,而“游标” @ 决定了当前位置在结构中的值。

11) net/http

net/http 实现了 HTTP 请求、响应和 URL 的解析,并且提供了可扩展的 HTTP 服务和基本的 HTTP 客户端。

12) unsafe

unsafe 包包含了 Go 程序中数据类型上所有不安全的操作。通常无须使用这个。

13) reflect

reflect 包实现了运行时反射,允许程序通过抽象类型操作对象。通常用于处理静态类型 interface{} 的值,并且通过 Typeof 解析出其动态类型信息,通常会返回一个有接口类型 Type 的对象。

14) os/exec

os/exec 包执行外部命令。
< 上一页Go语言GOPATH Go语言自定义包下一页 >