自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的测试.

6. 测试安装

完成安装后,新建一个文档来测试环境是否搭建成功:

Example helloWorld.go

 package main

 import (
"fmt"
"runtime"
) func main() {
fmt.Println("Hellow World!", runtime.Version())
}

执行go run helloWorld.go, 应该会打印出:

Hellow World! go1.

Let's go! (Ubuntu下搭建Go语言环境)的更多相关文章

  1. ubuntu下搭建android开发环境之超顺畅模拟器

    如果说android系统的卡,像耳边蚊子让人抓狂,那么android模拟器的卡,那就像午睡时的苍蝇.大概就是一样的恶心~~ 那么,这样的问题对于开发者肯定忍无可忍,我也一样,虽然我还没有入门,但我也一 ...

  2. ubuntu下搭建JAVA开发环境【转】

    转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.L ...

  3. ubuntu下搭建cocos2dx编程环境-中

        上篇文章里讲了在ubuntu下部署cocos2d-x开发环境,这篇文章主要示范在ubuntu下部署cocos2d-x android开发环境.分开写就是因为我看很多文章里都将这两件事情混杂着写 ...

  4. ubuntu下搭建的lamp环境新建站点

    这几天刚装了一个ubuntu 16.04桌面版,总之来来回回几遍才基本把环境搭建好,本来用apt-get搭建,结果不知道什么原因16.04版不支持装php5 ,提示源放弃了php5版本,不得不使用ph ...

  5. ubuntu下搭建cocos2dx编程环境-下

         前两篇介绍了cocos2d-x 下linux开发环境配置和android 环境配置问题.在这其中遇到很多问题,所以最后一篇分享一下在处理这些问题时,我是如何解决的,是怎么想的.同时总结一些解 ...

  6. ubuntu下搭建cocos2dx编程环境-上

        这大半年一直在开发flash游戏,用到的编程语言是actionscript和c++.所以这次公司决定开发手游端的话,C++不是很生疏,这是个好消息.坏消息是由于现在网页游戏还没有上线,所以公司 ...

  7. Ubuntu下搭建java开发环境

    JDK安装: 1. 在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载相应版本的JDK环境,这里我使用的是jd ...

  8. ubuntu下搭建android开发环境核心篇安装AndroidStudio、sdk、jdk

    本文系转载http://blog.csdn.net/lsyz0021/article/details/52215996 一.安装前的准备 1.1.如果你还没有安装ubuntu 14.04 LTS系统, ...

  9. Ubuntu下搭建.Net Core环境并发布MVC项目

    支撑环境 1. Windows 10 1809 12月更新版本(其他版本应该也行,但建议不低于1809,过低的版本可能无法安装子系统ubuntu18.04 LTS) 2. ubuntu 18.04 L ...

随机推荐

  1. jQuery中的getter和setter方法

    1.attr()方法是jQuery中用于HTML属性的getter/setter.一个相关函数是removeAttr(). 2.css()方法和attr()方法很类似,只是css()方法作用于元素的c ...

  2. 【转载】应读者强烈要求给出《超容易的Linux系统管理入门书》一书的主要知识点

    刚开始了一篇连载,收到广大Linux爱好者的反馈,非常欣慰.大家对Linux学习感到很迷茫,不知道学哪些内容,如何学习? <超容易的Linux系统管理入门书>一书是腾讯Linux专家在腾讯 ...

  3. 2013山东省“浪潮杯”省赛 A.Rescue The Princess

    A.Rescue The PrincessDescription Several days ago, a beast caught a beautiful princess and the princ ...

  4. 输入与enter

    #include<iostream> using namespace std; int main() { char a,b,c; while(scanf("%c%c%c" ...

  5. HTML5之缓存

    ----- 缓存文件 - 使用UTF-8编码- 以Cache Manifest 开头- 三个基本部分 CACHE MANIFESTmenu.htmlmenu.js# login requires ne ...

  6. 关于进程间通信的总结(IPC)

    一:三个问题 进程间通信简单的说有三个问题.第一个问题是一个进程如何把信息传递给另一个.第二个要处理的问题是是,要确保两个或更多的的进程在关键互动中不会出现交叉(即是进程互斥的问题),第三个问题是与正 ...

  7. 增加用户为SiteCollection的管理员

    1.SiteSettings-->Site collection administrators --> 增加你需要的用户

  8. Unity3D编程回忆录,Unity3d视频教程,教父团队倾情之作

    之前一直在看Unity3d的视频教程,包括很多老外的视频教程,老外的教程确实不错,技术含量很高,而且讲得很激情,让我有种恨不得一秒钟就想吧unity3d学个精通的冲动,只是,毕竟是英语教程,没办法,哎 ...

  9. 隐藏index.php - ThinkPHP完全开发手册 - 3.1

      为了更好的实现SEO优化,我们需要隐藏URL地址中的index.php,由于不同的服务器环境配置方法区别较大,apache环境下面的配置我们可以参考5.9 URL重写来实现,就不再多说了,这里大概 ...

  10. Delphi摄像头操作

    /*Title:Delphi摄像头操作 *Author:Insun *Blog:http://yxmhero1989.blog.163.com *From:www.4safer.com */ 为了笔耕 ...