Go 语言基础

 language  go


Tech Stack

功能 框架
日志框架 logrus
SQL映射 unknown

安装配置

# 1、下载并解压二进制包
tar -C /data/service -xzvf go1.9.3.linux-amd64.tar.gz
sudo ln -s /data/service/go-1.9.3 /usr/local/go


# 2、配置GO环境变量
sudo vim /etc/profile
export GOPATH=$HOME/go:/data/tmp/go
export GO_HOME=/usr/local/go
export PATH=$PATH:$GO_HOME/bin:$GOPATH/bin

注意:如果不设置`GOPATH`环境变量,默认值在Unix为$HOME/go,在Windows为%;
其中,多个`GOPATH`路径之间使用英文冒号分隔;

# 3、GOPATH环境变量

- go env GOPATH
- go help gopath

# 4、工作空间与目录结构
go是一个workspace的名字,包含了src/bin/pbk三种目录结构,其中:

- go/src 包含GO源代码,使用go build编译,再使用go install将生成的二级制文件安装到go/bin目录;
- go/bin 包含GO源代码编译后生成的二进制可执行文件,为了便于使用,会添加此路径到$PATH,如export PATH=$PATH:$(go env GOPATH)/bin;
- go/pbk 包含GO依赖的库包;

GOPATH环境变量指向工作空间go;

# 5、导入路径
使用`source repository`的根路径作为个人项目的包层级;例如:[github.com/user](http://github.com/user)
mkdir -p $GOPATH/src/github.com/user

设置国内镜像源

# 一、启用 Go Modules 功能
go env -w GO111MODULE=on

# 二、配置 GOPROXY 环境变量
七牛 go env -w GOPROXY=https://goproxy.cn,direct
阿里 go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
官方 go env -w GOPROXY=https://goproxy.io,direct

# 三、验证
$ go env | grep GOPROXY

# 四、测试一下,本地如果有模块缓存,可以使用命令清空`go clean --modcache`
$ time go get golang.org/x/tour

# 五、私有模块(Go version >= 1.13)设置不走 proxy 的私有仓库,多个用逗号相隔
$ go env -w GOPRIVATE=*.corp.example.com