参考 http://golang.org/doc/install.html
参考google官方文档,并结合自己的经历,算是一半翻译,一般原创把,其中有许多不懂的地方,请高手指点
1, 设置环境变量
$GOROOT :go的根目录,一般设为$HOME/go,也可设为其他目录
$GOOS :目标操作系统目前他的选项有linux, darwin (注:Mac OS X 10.5 or 10.6)和nacl (注:Native Client, an incomplete port)
$GOARCH :目标编译架构,他的选项有amd64 (64位 x86或amd64),386 (32位 x86或amd32), 和 arm (32位 ARM平台)
$GOBIN(可选的):二进制代码存放的地方,如果你指定了了$GOBIN,那就必须保证他在$PATH下,缺省的,$GOBIN的值是$HOME/bin
注:$GOOS和$GOARCH是代码运行的目标环境,而不是你现在运行的环境。
可以在.bashrc这个文件中设置这些变量,
例如:
export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
个人经历:可以通过echo $GOROOT等来查看环境变量,我在.bashrc中添加上面的内容以后,echo出来的结果仍然是空的,不知道是怎么回事,请高手指点,自己手动命令行将这三个环境变量添加上,并加上
export $GOBIN=$GOROOT/bin
export $PATH=$PATH:$GOBIN
来把$GOBIN设置好
2, 下载
如果没有 hg 命令
$ sudo easy_install mercurial
个人经历:我用的是fedora 11,所以用 yum install mercurial
hg 命令似乎是用于远程登录下载用的
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
下载文件到$GOROOT目录下
然后,
sudo apt-get install bison gcc libc6-dev ed make
这是ubuntu的命令,因为go 是给予gcc的,所以要装c的库
个人经历:
fedora下,yum install bison gcc libc6-dev ed make
但没有找到有关libc6-dev的包;
3, 安装
cd $GOROOT/src
./all.bash
如果all.bash运行成功,就会输出
--- cd ../test
N known bugs; 0 unexpected bugs(N是一个数)
个人经历:安装到最后两项需要联网验证,却总是失败,不过没有影响功能
4, 测试
写一个程序hello.go
package main
import "fmt"
func main() {
fmt.Printf("hello, world/n")
}
如果你的$GOARCH变量是amd64,你使用的命令有 6g,6l,6c,6a
如果是386,那么有8g,8l,8c,8a
如果是arm,那么有5g,5l,5c,5a
个人经历:我使用的386
编译:
8g hello.go
连接:
8l hello.8
运行:
./8.out
helloworld