Go语言学习札记—— 第二章 Go编程环境(1)

第二章    Go 编程环境

Go 是一个开源项目,采用 BSD授权协议 。目前有两种方式使用 Go 语言。这里主要讲述如何使用 Go 专用的 gc 系列工具( 6g 8g 等)。另一个可选的编译器是是基于 gcc 后端的 gccgo 编译器。关于 gccgo 的细节清参考 安装并使用 gccgo编译器 Go 现在还没有 IDE 开发工具,编写代码只能用记事本、 Vi Emacs 等文本编辑器。

2.1 Go 的安装

2.1.1 Go 运行平台

Go 目前支持两种操作系统三种类型 CPU 指令集。其中 Linux Mac 平台可以通用,但是 ARM 目标代码还不能运行在 OS X 系统上。

 

下面是针对不同CPU 指令集,编译后目标代码的差异:

amd64 (a.k.a. x86-64 ); 6g ,6l,6c,6a

目前最成熟的实现。编译器进行了很好的优化,可以产生更优的目标代码(尽管有时候gccgo 可能做的更好)。

386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a

虽然没有amd64 平台那么成熟,但是已经非常稳定了。

arm (a.k.a. ARM ); 5g ,5l,5c,5a

还有一些问题,还在完善中。重要针对QEMUandroid 手机环境测试。

所有的平台,出了关于操作系统借口部分有一些差异外,Go 的运行库支持都是一样的。包含基于 mark-and-sweep 算法()的垃圾内存回收支持,高效的数组、字符串以及切片,还有独立的堆栈支持和goroutine 的实现等。

当前已有爱好者将其移植到Windows 平台下,如果想在Window 平台下运行Go, 可以从http://code.google.com/p/gomingw/ 网站下载到二进制发布版本。

2.1.2 下载 Go

Go 使用Mercurial 版本管理系统,管理代码的。如果你没有Mercurial ,可以从Mercurial 官网(http://mercurial.selenic.com/) 下载。

Linux 平台下用以下命令安装:

$ sudo easy_install mercurial

Window 平台下可以用 Tortoisehg

确保GOROOT 不存在或者是空目录。然后从仓库检出代码:

$ hg clone -r release https://go.googlecode.com/hg/ GOROOT

2.1.3 设置环境变量

Go 编译器需要三个必须的环境变量和一个可选的环境变量。环境变量在.bashrc 或其他配置文件中设置。

$GOROOT

Go 安装包的根目录。通常是放在$HOME/go ,当然也可以是其他位置。

$GOOS and $GOARCH

这两个环境变量表示目标代码的操作系统和CPU 类型。$GOOS 选项有linux freebsddarwin (Mac OS X 10.5 or 10.6) nacl (ChromeNative Client 接口,还未完成)$GOARCH 的 选项有amd64 (64-bit x86 ,目前最成熟)386 (32-bit x86) 、 和arm (32-bit ARM ,还未完成) 。下面是$GOOS $GOARCH 的可能组合:

 

$GOOS

$GOARCH

 

darwin

386

 

darwin

amd64

 

freebsd

386

 

freebsd

amd64

 

linux

386

 

linux

amd64

 

linux

arm

 

nacl

386

$GOBIN (optional) (可选)

指明用于存放go 的二进制程序目录。如果是没设置$GOBIN 环境变量, 则默认是安装在$HOME/bin 。如果设置了该变量,需要确保$PATH 变量也包含这个路径,这样编译器可以找到正确的执行文件。

需要说明的是$GOARCH $GOOS 环境变量表示的是目标代码运行环境,和当前使用的平台是无关的。这个对于交叉编译是很方便的。

.bashrc 文件中设置以下环境变量:

export GOROOT=$HOME/go

export GOARCH=amd64

export GOOS=linux

用以下命令再检测一次环境变量。

$ env | grep '^GO'

Window 平台下环境变量设置

GOROOT=C:/go

GOARCH=386

GOOS=windows

GOBIN=%GOROOT%/bin

PATH=%PATH%;%GOBIN%/;

: Gomingw 2010-05-04 前的版本GOOS 变量应设置为mingw

2.1.4 安装

Go 的工具链采用C 语言编写。因此要编译Go 工具,需要现安装GCCC 标准库、Bison 分析器、以及makeawked 等开发工具。对于OS X 系统,它们可以作为Xcode 的插件。对于Linux 系统,可以用以下命令安装:

$ sudo apt-get install bison gcc libc6-dev ed gawk make

(如果是其他Linux 版本,可以用类似命令安装)。

运行以下命令,构建Go

$ cd $GOROOT/src

$ ./all.bash

编译完成后,结尾会打印以下信息。

--- cd ../test

N known bugs; 0 unexpected bugs

Windows 平台下,可以从Gomingw 网站(http://code.google.com/p/gomingw/ ) 下载二进制,解压到指定目录,并设定好环境变量,即可运行。

 

你可能感兴趣的:(编程,语言,mercurial,Go,平台,编译器)