目录

安装 Golang

下载地址

  • https:///dl/
  • https://golang.google.cn/dl/

CentOS 环境

如果对版本没有特殊要求的话,建议直接 YUM 安装:

yum upgrade -y && yum update -y
yum install go -y

检查:

$ go version
go version go1.13.14 linux/amd64

# Golang 程序的安装路径
$ go env | grep ROOT
GOROOT="/usr/lib/golang"

# Golang 程序的工作目录路径
$ go env | grep PATH
GOPATH="/root/go"

MAC pro 环境

# 查看安装包仓库中 Golang 的版本
$ brew search go

# 选择安装一个比较新的版本
$ brew install go@1.14

# 修改配置文件,指定 Golang 的安装目录和工作目录。
$ vim ~/.zshrc
export GOROOT=/usr/local/Cellar/go\@1.14/1.14.13/libexec
export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
export PATH=$PATH:$GOBIN
Go proxy

为了快速下载 Golang 的第三方库,建议配置 Go proxy,详见:https://goproxy.io/zh/

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

尝试安装第三方 Golang 包:

go get -u /x/lint/golint
ls $GOBIN | grep golint
GOPATH 环境变量

GOPATH 是一个环境变量,作为 Golang 的 WorkSpace(工作目录),表示 Golang 程序的运行环境。GOPATH 适合处理由大量 Golang 源码、多个包组合而成的复杂工程。从 Go 1.8 开始,在 UNIX-like 操作系统中 GOPATH 默认是 $HOME/go,当然也支持自定义。

GOPATH 和 Golang 的包管理是息息相关的,自 Go 1.11 开始,支持两种不同的包管理方式:

  • 使用 GOPATH:export GO111MODULE=off
  • 使用 go mod:export GO111MODULE=on

export GO111MODULE=off 时,在 GOPATH 下具有 3 个子目录:

  • src:存放 Golang 项目(自己开发的项目、或下载的第三方项目)源码。
  • bin:存放 Golang 项目编译出来的可执行文件。
  • pkg:存放 Golang 项目编译过程中产生的中间缓存文件,例如:*.a 静态库文件。

export GO111MODULE=on 时,在 GOPATH 下具有 2 个子目录:

  • bin:存放 Golang 项目编译出来的可执行文件。
  • pkg:存放从网上下载的下载的第三方项目的源码。

注:go mod 方式下,自建项目的源码可以在任何位置,建议使用该方式。