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

来源:互联网 发布:女生 老司机 知乎 编辑:程序博客网 时间:2024/06/10 23:35

第二章   Go编程环境

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

2.1 Go的安装

2.1.1 Go运行平台

Go目前支持两种操作系统三种类型CPU指令集。其中LinuxMac平台可以通用,但是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选项有linuxfreebsddarwin (Mac OS X 10.5 or 10.6) nacl (ChromeNative Client接口,还未完成)$GOARCH的 选项有amd64(64-bit x86,目前最成熟)386 (32-bitx86)、 和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/)下载二进制,解压到指定目录,并设定好环境变量,即可运行。

 

原创粉丝点击