2.1 平台与架构

    • Linux
    • FreeBSD
    • Mac OS X(也称为 Darwin)

    目前有2个版本的编译器:Go 原生编译器 gc 和非原生编译器 gccgo,这两款编译器都是在类 Unix 系统下工作 。其中,gc 版本的编译器已经被移植到 Windows 平台上,并集成在主要发行版中,你也可以通过安装 MinGW 从而在 Windows 平台下使用 gcc 编译器。这两个编译器都是以单通道的形式工作。

    你可以获取以下平台上的 Go 1.4 源码和二进制文件:

    • Linux 2.6+:amd64、386 和 arm 架构
    • Mac OS X(Snow Leopard + Lion):amd64 和 386 架构
    • Windows 2000+:amd64 和 386 架构

    对于非常底层的纯 Go 语言代码或者包而言,在各个操作系统平台上的可移植性是非常强的,只需要将源码拷贝到相应平台上进行编译即可,或者可以使用交叉编译来构建目标平台的应用程序(第 2.2 节)。但如果你打算使用 cgo 或者类似文件监控系统的软件,就需要根据实际情况进行相应地修改了。

    1. gccgo 编译器:

      一款相对于 gc 而言更加传统的编译器,使用 GCC 作为后端。GCC 是一款非常流行的 GNU 编译器,它能够构建基于众多处理器架构的应用程序。编译速度相对 gc 较慢,但产生的本地代码运行要稍微快一点。它同时也提供一些与 C 语言之间的互操作性。

      从 Go 1 版本开始,gc 和 gccgo 在编译方面都有等价的功能。

    2. 文件扩展名与包(package):

      Go 语言源文件的扩展名很显然就是 .go

      C 文件使用后缀名 .c,汇编文件使用后缀名 。所有的源代码文件都是通过包(packages)来组织。包含可执行代码的包文件在被压缩后使用扩展名 .a(AR 文档)。

      注意 当你在创建目录时,文件夹名称永远不应该包含空格,而应该使用下划线 “_” 或者其它一般符号代替。