1、使用apt-get命令来安装Go环境

apt-get install software-properties-common
apt-get install python-software-properties
add-apt-repository ppa:gophers/go
apt-get update
apt-get install golang-go git-core mercurial

2、设置GOPATH变量,指定工作空间

在当前目录下的.bashrc文件最后增加 export GOPATH=/opt/go

echo "export GOPATH=/opt/go" >> ~/.bashrc

重新加载.bashrc文件

source ~/.bashrc

3、工作空间的目录结构

/opt/go
-src 存放源代码(.go .c .h .s等)
-pkg  编译后生成的文件(.a)
-bin  编译后生成的可执行文件

4、开发应用包(包名以mymath为例)

  在工作空间的src目录下创建mymath目录,其下创建源码文件 sqrt.go,内容如下:

// $GOPATH/src/mymath/sqrt.go源码如下:
package mymath func Sqrt(x float64) float64 {
z := 0.0
for i := ; i < ; i++ {
z -= (z*z - x) / ( * x)
}
return z
}

  注意:一般建议package的名称和目录名保持一致

  上面我们已经建立了自己的应用包,如何进行编译安装呢?有两种方式可以进行安装

    a、只要进入对应的应用包目录,然后执行go install,就可以安装了

    b、在任意的目录执行如下代码go install mymath

  安装完之后,在$GOPATH/pkg/mymath/平台类型/目录下,有应用包mymath.a

5、开发可执行程序包(包名以mathapp为例)

  在工作空间的src目录下创建mathapp目录,其下创建源码文件 main.go,内容如下:

// $GOPATH/src/mathapp/main.go源码如下:
package main

import (
"mymath"
"fmt"
) func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2))
}

  可以看到这个的package是main,import里面调用的包是mymath,这个就是相对于$GOPATH/src的路径,如果是多级目录,就在import里面引入多级目录。

  进入该应用目录,然后执行go build,那么在该目录下面会生成一个mathapp的可执行文件。运行执行程序如下:

#./mathapp
Hello, world. Sqrt() = 1.414213562373095

6、发布和执行程序

  在应用目录中,执行go install,那么在$GOPATH/bin/下增加了一个可执行文件mathapp,运行后如下:

#mathapp
Hello, world. Sqrt() = 1.414213562373095

Ubuntu14.04安装Go语言开发环境的更多相关文章

  1. 安装Go语言开发环境

    安装Go语言开发环境实例代码 - 详述Go语言安装所在需要的工作:安装C语言工具,安装Mercurial,更新go到新版本等操作实例. 安装go环境 1.简介 Go是一个开源项目,采用BSD授权协议. ...

  2. Windows 安装 Go语言开发环境

    Windows 安装 Go语言开发环境   下载安装包 下载地址:http://www.golangtc.com/download   32 位请选择名称中包含 windows-386 的 msi 安 ...

  3. Ubuntu14.04安装JDK与配置环境变量

    工具/原料 Ubuntu14.04系统 方法/步骤   先从Oracle官网下载JDK.先选择同意按钮,然后根据自己的系统下载相应版本.我的系统是Ubuntu14.04 64位的,所以我下载 2 创建 ...

  4. ESP32搭建3.ubuntu14.04下搭建esp32开发环境 (10-5)

    硬件为乐鑫出品的ESP32一款集成了wifi和蓝牙的集成模块. 1.首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆 . 2. 输入指令:sudo apt-get install ...

  5. ubuntu14.04通过 gvm 安装 go语言开发环境

    最近用回了ubuntu ,所以打算安装golang学习当下比较火热的这个语言 本来打算使用 sudo apt-get install golang的 安装后发现 是1.2.1不是最新版 所以上网上搜了 ...

  6. Windows7下安装golang语言开发环境和revel框架

    1.下载先去下载32位或64 golang window 安装包 并安装下载地址:https://www.golangtc.com/download 本人更改了安装地址为 D:\GO\Go 2. go ...

  7. ubuntu14.04上搭建android开发环境

    这几天心血来潮,想在ubuntu上写写android软件.所以就上网找些资料在ubuntu上搭建android环境.结果要么时不完整的,要么就是过时的. 所以我把我搭建android环境的过程写下了, ...

  8. Ubuntu安装C#语言开发环境

    使用Bash自动化安装 先下载Bash脚本(Linux/macOS),运行脚本 ./dotnet-install.sh -c Current 或者使用包管理器安装 wget -q https://pa ...

  9. Windows 安装 Go语言开发环境以及使用

    下载安装包 下载地址:http://www.golangtc.com/download 32 位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows- ...

随机推荐

  1. Android4.4KitKat支持u盘功能

    Android4.4KitKat支持u盘功能 作者:  发布日期:2014-05-14 23:16:13 我来说两句(0) 0 Tag标签:功能   Android U 盘功能实现和分析 u 盘功能实 ...

  2. STL中map的一个知识点

    问题背景 在做USACO Section 1.1 Greedy Gift Givers的时候,我最初的想法是直接用一个map来进行数据处理.但是后来产生一个让我感到疑问的地方,后来我经过测试,发现了这 ...

  3. Android Quick Tip - ADB over WiFi

    http://stuffandtech.blogspot.jp/2012/03/android-quick-tip-adb-over-wifi.html   MAR 26 Android Quick ...

  4. corosync集群的选举算法

    <Cluster Concepts> http://linux-ha.org/wiki/Cluster_Concepts <Managing Computers with Autom ...

  5. [iOS]C语言知识点系列视频

    C语言知识点系列视频 目录 C语言技术视频-01-变量的定义 C语言技术视频-02-程序分支结构(if...else) C语言技术视频-03-程序分支结构(switch) C语言技术视频-04-程序循 ...

  6. hibernate---性能优化, 1+N问题

    session级缓存 保存一个hashmap, 读出来的对象放在里面, 如果读出来50条放50条, 如果另起session原来的50条就被清除.可以手动session.clear清除. 如果同一个se ...

  7. iOS探究UITableView的内部代码,仿UITableView自定义

    大家都知道UITableView,最经典在于循环利用,这里我自己模仿UITableView循环利用,写了一套自己的TableView实现方案,希望大家看了我的文章,循环利用思想有显著提升. 研究UIT ...

  8. AndroidStudio项目.gitignore文件内容

    .metadata/ *~ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ li ...

  9. JavaScript DOM节点操作总结

    节点类型 节点类型主要有三种:元素节点,属性节点和文本节点. 而对DOM的主要也就是围绕元素节点和属性节点的增删改查.下面就分别从对元素节点的操作和对属性节点的操作来介绍. 元素节点 查 在对DOM进 ...

  10. Linux内核探索之路——关于方法

    转载自:http://blog.chinaunix.net/uid-20608849-id-3014502.html   Linux内核实践之路 -给那些想从Linux内核找点乐趣的人 一个不能回避的 ...