1.4.1 GOROOT结构

GOROOT是Go语言环境的根目录,打开Go语言安装包的安装路径即可看到GOROOT目录结构中的内容,如图1-20所示。

图1-20 GOROOT目录结构

1.api文件夹

api文件夹中存放了Go API检查器的辅助文件,包括公开的变量、常量及函数等。其中,go1.1.txt、go1.2.txt、go1.3.txt和go1.txt文件分别存放了不同版本的Go语言的全部API特征;except.txt文件中存放了一些(在不破坏兼容性的前提下)可能会消失的API特性;next.txt文件则存放了可能在下一个版本中添加的新API特性,如图1-21所示。

图1-21 api文件夹中存放的内容

2.bin文件夹

bin文件夹中存放了所有由官方提供的Go语言相关工具的可执行文件。默认情况下,该目录会包含go和gofmt这两个工具,如图1-22所示。

图1-22 bin文件夹中存放的内容

3.doc文件夹

doc文件夹中存放了Go语言几乎全部HTML格式的官方文档和说明,方便开发者在离线时查看,如图1-23所示。

图1-23 doc文件夹中存放的内容

4.lib文件夹

lib文件夹中存放引用的库文件,可以为程序的运行提供帮助,如图1-24所示。

图1-24 lib文件夹中存放的内容

5.misc文件夹

misc文件夹中存放各类编辑器或IDE(集成开发环境)软件的插件,辅助开发者查看和编写Go语言代码,如图1-25所示。

图1-25 misc文件夹中存放的内容

6.pkg文件夹

pkg文件夹用于在构建安装后,保存Go语言标准库的所有归档文件。pkg文件夹包含一个与Go语言安装平台相关的子目录,被称为“平台相关目录”。例如,Windows 64bit操作系统的安装包中,平台相关目录的名字则为windows_amd64。Go源码文件对应于以“.a”为结尾的归档文件,存储在pkg文件夹下的平台相关目录中。

pkg文件夹下还有一个名为tool的子文件夹,该子文件夹下也有一个平台相关目录,其中存放了很多可执行文件,如图1-26所示。

7.src文件夹

src文件夹中存放了所有的标准库、Go语言工具及相关底层库(C语言实现)的源码。通过查看src文件夹,可以了解Go语言的方方面面,如图1-27所示。

图1-26 pkg文件夹中存放的内容

图1-27 src文件夹中存放的内容

8.test文件夹

test文件夹中存放了测试Go语言自身代码的文件。通过阅读这些测试文件,可以了解Go语言的特性和使用方法,如图1-28所示。

图1-28 test文件夹中存放的内容