文档章节

Go语言安装指导--以Linux为例

恋恋美食
 恋恋美食
发布于 07/29 16:50
字数 637
阅读 51
收藏 0

与大多数开源软件一样,Go安装包也分为二进制包、源码包。二进制包为基于源码编译出各个组件,并把这些组件打包在一起供人下载和安装,源码包为 Golang语言源码,供人下载、编译后自行安装。

接下来我们以安装二进制包(go1.12.7.linux-amd64.tar.gz)为例进行说明安装过程。

Go语言安装比较简单,大体上分为三个步骤:

  • 安装可执行命令
  • 设置PATH环境变量
  • 设置GOPATH环境变量

1. 安装可执行命令

二进制安装包中包含二进制、文档、标准库等内容,我们需要将该二进制完整的解压出来。

一般使用/usr/local/go来存放解压出来的文件,这个目录也就是GOROOT,即GO的根目录。 下接使用tar命令将安装包解压到指定目录即可:

tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz

2. 设置PATH环境变量

Go的二进制可执行文件存在于$GOROOT/bin目录,需要将该目录加入到PATH环境变量中。

比如,把下面语句放入/etc/profile文件中。

export PATH=$PATH:/usr/local/go/bin

3. 设置GOPATH环境变量

Linux下,自Go 1.8版本起,默认把$HOME/go作为GOPATH目录,可以根据需要设置自已的GOPATH目录。

如需要设置不同的GOPATH目录,可以将其放入~/.bash_profile中。

export GOPATH=$HOME/mygopath

即便使用GOPATH默认目录,推荐也把它加入到环境变量中,这可以让bash识别GOPATH变量。

这里需要注意的是,GOPATH值不可以与GOROOT相同,因为如果用户的项目与标准库重名会导致编译时产生歧义。

4. 测试安装

安装完成后,可以写个小程序验证一下,验证前建议重新登录,以便让环境变量生效。

创建$GOPATH/src/hello/hello.go文件:

package main

import "fmt"

func main() {
	fmt.Printf("hello, world\n")
}

接着进入$GOPATH/src/hello编译并执行:

# cd $GOPATH/src/hello
# go build
# hello
hello, world

程序能正常输出hello, world就表示安装完成了。

© 著作权归作者所有

恋恋美食

恋恋美食

粉丝 112
博文 158
码字总数 146216
作品 0
杭州
高级程序员
私信 提问
安装Go,配置Go环境(实力亲测)

区块链研发 现在区块链项目大多都是用Go语言写的,其实语言都是想通的,如果你其他语言学习的好,那么你学习Go语言起来,也是非常简单的,如果你对区块链比较感兴趣,那么来学学Go也是一点问...

王木东
2018/05/15
0
0
Ubuntu 12.04下LAMP安装配置

我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站。LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行...

很不牛x
2013/01/03
190
0
使用holer实现从外网访问内网的WEB应用

What is holer Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Support forwarding message based on TCP protocol. Holer是一个将局......

码翼
2018/11/02
13
0
python - paramiko的安装与使用

一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。 由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,...

北方攻城师
2014/10/11
151
0
linux环境下编译安装ICE

前面我们讲过了在linux环境下通过rpm的方式来安装ICE,这种安装方式可以是比较简单的,自己在安装过程中发现后面PHP无法装在IcePHP.sp模块,也有可能自己在安装过程中某个地方出错了。又尝试...

mmmw
2013/09/13
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
16分钟前
1
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
18分钟前
4
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
20分钟前
3
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
26分钟前
4
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
50分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部