##### 安装Golang 1.13.4

###### 下载指定版本安装包

```bash
wget http://8.210.81.239/linux/Golang/go1.13.4.linux-amd64.tar.gz
```

###### 解压文件到 /usr/local

<font color='red'>【重要】如果之前已经安装过go的版本，先清空下go下面src，不然可能会报一些previous declaration at /usr/local/go/src/runtime/internal/atomic/atomic_amd64.go:16:24的错误</font>

```bash
rm -rf /usr/local/go
```

###### 解压go包

```bash
 tar -zxf go1.13.4.linux-amd64.tar.gz -C /usr/local
```

###### 配置环境变量，vim指令编辑 /etc/profile

```bash
vim /etc/profile
```

###### 在/etc/profile文件末尾添加以下配置，输入 :wq保存

```
#golang config
export GOROOT=/usr/local/go 
export GOPATH=/data/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
```

创建 /data/gopath文件夹，个人比较习惯把常用的放在data文件夹下，也可以自行调整，如：/home/gopath

```
mkdir -p /data/gopath
```

###### 使换将变量配置生效，并查看golang的版本

```bash
source /etc/profile
go version
```

###### 设置代理环境变量，再拉去golang.org的时候就不需要墙了。注意GO1.13及之后支持direct的写法

```bash
go env -w GOPROXY=https://goproxy.cn,direct
```

###### 关于报错 `missing go.sum entry; to add it`的处理方式，有三种处理方式

 加环境变量，本地开发推荐用这种方式，会自动拉引用和生成go.sum

```bash
go env -w "GOFLAGS"="-mod=mod" 
```

 在go build的时候添加参数，如 `go build -mod=mod`

在go.mod同一层级中执行 `go mod tidy`

安装完毕写一个helloworld测试

切换到gopath目录，创建一个hello.go

```bash
cd /data/gopath
vim hello.go
```

复制粘贴helloworld代码， :wq保存即可

```go
package main  
import "fmt"  
func main() {  
    fmt.Printf("Hello, world!\n")  
}  

```

运行代码

```bash
go run hello.go
```

##### 参考文档: 

```bash
### centos 7 安装golang1.17 ###
参考文档:   https://www.cnblogs.com/nickchou/p/13252545.html
```









