自2009年Go语言发布以来,我一直在关注Go语言,如今Go语言已经发展到1.2版本,而且也收到越来越多的人关注这门语言。Go语言设计的目的就是为了解决执行数度快但是编译数度并不理想(如C++)以及编译速度快但执行效率不佳(.NET、Java),或者开发难度低但执行速度一般的动态语言这一问题。所以说,Go语言的特点是:快速编译,高效执行,易于开发。
好了,跳过那些框框条条的craps, 让我们直接先从Go语言的环境搭建开始,由于最近偏爱Ubuntu,在加上作为一门开源语言,在Linux上从源代码开始搭建环境更让人觉得有趣味性。
当然,如果你需要快速的搭建环境,也可以直接参考官方文档:http://golang.org/doc/install.html。考虑到官方文档已经十分详细,这里我就不再一一阐述了。
1. 设置Go环境变量
打开终端,输入命令:
export GOROOT=$HOME/go
export PATH=$GOROOT/bin:$PATH
当然,你需要设置项目的目录
export GOPATH=$HOME/Applications/Go
2. 安装C工具
由于Go的工具链是用C语言编写的, 因此在安装Go之前序言安装相关的C工具。执行一下命令:
sudo apt-get install bison ed gawk gcc libc6-dev make
3. 安装Mercurial
由于Go的源码是通过Mercurial进行管理的, 所以需要先安装Mercurial来实现Go源码的获取,一次执行一下命令:
sudo apt-get install python-setuptools sudo apt-get install pythone-dev sudo apt-get install build-essential sudo apt-get install mercurial
4. 获取Go源代码
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
5. 构建Go
在终端中执行一下命令来构建Go
cd $GOROOT/src
./all.bash
编译完成后会自动测试,但是在测试net/http时会链接google.com, 在国内环境稍微有一点不稳定(第一次编译成功挂掉了...),所以建议是增加一条环境变量
export DISABLE_NET_TESTS=1
来跳过net的测试.
总结:以上步骤可以通过运行以下脚本来执行:
#!/bin/bash #set env if [ "`grep "export GOROOT=/usr/local/go" /etc/profile`" = "" ]; then echo "export GOROOT=/usr/local/go" >> /etc/profile fi if [ "`grep "export PATH=$GOROOT/BIN:$PATH" /etc/profile`" = "" ]; then echo "export PATH=$GOROOT/bin:$PATH" >> /etc/profile fi #install c sudo apt-get install -y bison ed gawk gcc libc6-dev make #install mercuial sudo apt-get install -y python-setuptools python-dev build-essential mercuial #get code of go hg clone -r release https://go.googlecode.com/hg/ $GOROOT #compile go cd $GOROOT/src ./all.bash exit 0
6. 测试安装
完成安装后,新建一个文档来测试环境是否搭建成功:
Example helloWorld.go
1 package main 2 3 import ( 4 "fmt" 5 "runtime" 6 ) 7 8 func main() { 9 fmt.Println("Hellow World!", runtime.Version()) 10 }
执行go run helloWorld.go, 应该会打印出:
Hellow World! go1.2
有疑问加站长微信联系(非本文作者)