linux go环境安装

linux go环境安装
方法一
这次将源码包安装的目录是是/root下。

1、官网下载源码包。

官网链接:https://golang.org/dl/。ps:本人的是linux服务器,所以选择红框标注的

wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz

2、解压安装

tar -zxvf go1.9.2.linux-amd64.tar.gz

mkdir -p workspace/src

vim ~/.bashrc

export GOROOT=$HOME/go

export GOPATH=$HOME/workspace

export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

source ~./bashrc

3.检验是否安装成功

方法二

安装go工具
http://golang.org/dl/下载最新的linux版本,并把它提取到/usr/local目录,在此目录下进行解压缩

$ tar -xvf xxx.tar.gz
然后将/usr/local/go/bin添加到PATH环境变量中,执行
$ export PATH=$PATH:/usr/local/go/bin

实际上go会默认假定它被安装到/usr/local/go目录下,但也可以将go安装到其他位置,此时必须设置GOROOT环境变量来指出它所安装的位置。
例如将go安装到你的home目录下,你应当将以下命令添加到$HOME/.profile文件中

$ export GOROOT=$HOME/go
$ export PATH=$PATH:$GOROOT/bin

执行go version,看到go的安装版本即安装成功

你的第一个程序
GOPATH环境变量
GOPATH环境变量指定了你的工作空间位置

首先创建一个工作目录,并设置相应的GOPATH,工作目录可以放在任何地方,但不能和go的安装目录相同,在这我们使用$HOME/work

$ mkdir $HOME/work
$ export GOPATH=$HOME/work

注意:go的代码必须放在工作空间内,也就是我们这里的work目录下,其中包含了三个子目录

bin目录包含可执行命令

pkg目录包含包对象

src目录包含go的源文件,它们被组织成包(每个目录都对应一个包)

接下来将工作空间的bin子目录添加到PATH中:

[html] view plain copy
$ export PATH=$PATH:$GOPATH/bin
包路径
标准库中的包有给定的短路径比如"fmt",对于你自己的包,也必须选择一个基本路径,来保证它不会与将来添加到标准库或其他标准库中的包相冲突。

使用packs作为基本路径,在你的工作空间里创建一个目录,我们将源码放在其中:

$ mkdir $GOPATH/src/packs

你的第一个程序
要编译运行简单的程序,首先要选择包路径,在这里我们使用packs/hello,并在你的工作空间内创建相应的包目录

$ mkdir $GOPATH/src/packs/hello

接着在该目录中创建名为hello.go的文件,其内容如下
package main

import "fmt"

func main() {
fmt.Printf("Hello, world. ")
}

现在可以使用go工具构建并安装此程序了
$ go install packs/hello

注意,你可以在系统的任何地方运行此命令。go工具会根据GOPATH指定的工作空间,在packs/hello包内查找源码。
如果从包目录中运行go install,也可以省略包路径:

$ cd $GOPATH/src/packs/hello
$ go install

此命令会构建hello命令,产生一个可执行的二进制文件。并存放在工作空间的bin目录下,在这里就是$GOPATH/bin目录下
因为已经将$GOPATH/bin添加到PATH中,只需要输入该二进制文件名执行即可

$ hello
Hello, world.

你的第一个库
让我们编写一个库,并让hello程序使用它。

同样,第一步韩式选择包路径(在这里使用packs/stringutil)并创建包目录:

$ mkdir $GOPATH/src/packs/stringutil
接着,在该目录中创建名为reverse.go的文件,内容如下:
// stringutil 包含有用于处理字符串的工具函数。
package stringutil

// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}

然后使用go build命令来测试该包的编译:

$ go build packs/stringutil
即可,这不会产生输出文件,想要输出的话,必须使用go install命令,它会将包的对象放到工作空间的pkg目录中。
接下来修改原来的hello.go文件

package main

import (
"fmt"

"github.com/user/stringutil"

)

func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}

然后通过
$ go install packs/hello

来安装hello程序,再运行此程序的新版本,应该能看到一条新的,反向的信息:
$ hello
Hello, Go!

方法三

声明 root 用户登录。
$ vim /etc/profile
打开/etc/profile后//最后一行插入
export GOROOT=/usr/local/go //这里我的go解压后是在/user/local/go
export GOPATH=/golib:/goproject
export GOBIN=~/gobin
export PATH=$PATH:$GOROOT/bin:$GOBIN
//然后 按ESC键 跳到命令模式,然后保存退出
:wq //再按确认键盘
//输入下面才会命令生效
$ source /etc/profile //ok
//判断是否设置成功,不管cd 任何文件夹下面输入
$ go version

原文地址:https://www.cnblogs.com/xiaocongcong888/p/9399111.html