第二章 Go 编程环境

第二章    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

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

所有的平台,出了关于操作系统借口部分有一些差异外,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 、 freebsd 、darwin (Mac OS X 10.5 or 10.6) 和 nacl (Chrome 的Native 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 工具,需要现安装GCC 、C 标准库、Bison 分析器、以及make 、awk 和ed 等开发工具。对于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/ ) 下载二进制,解压到指定目录,并设定好环境变量,即可运行。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/savechina/archive/2010/05/20/5612399.aspx

发布了3 篇原创文章 · 获赞 4 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章