Golang 2019 重新配置

好久没写过 Golang 了,上次写还是 GOPATH 的版本。本文以 1.13.1 为例子,再次整理些 Golang 的开发环境

1
2
> go version
go version go1.13.1 linux/amd64

https://github.com/lycheng/gobjection 项目为例

Env

首先是关于 Golang Modules 的环境变量的设置

1
2
3
export GO111MODULE=auto
export GOPROXY=https://goproxy.io
# export GOPROXY=http://mirrors.aliyun.com/goproxy/

初始化项目,Golang Modules 出来之后,不需要像以前那样必须跟着 GOPATH 里面 Github 的项目路径走了,可以自由安排路径

1
go mod init github.com/lycheng/gobjection

Init

参考 Golang Project Layout 创建了几个目录

1
2
mkdir cmd
mkdir pkg

在项目根目录使用 go get 安装依赖的话会保存版本信息到 go.mod

1
2
3
4
5
6
7
8
9
10
11
> go get -u github.com/sirupsen/logrus
> cat go.mod
module github.com/lycheng/gobjection

go 1.13

require (
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
github.com/sirupsen/logrus v1.4.2 // indirect
golang.org/x/sys v0.0.0-20190927073244-c990c680b611 // indirect
)

In-The-End

几点感受

  • GOPROXY 试了下感觉还行,解决了以前下载 Github / golang.org 等仓库的依赖的痛点
  • 项目的路径终于不用像之前一样要按规定路径来

References


Golang 2019 重新配置
http://yoursite.com/2019/10/11/golang-in-2019/
Author
Shing
Posted on
October 11, 2019
Licensed under