Go项目开发如何抛弃掉GOPATH

刚开始入坑Go开发的时候,一直对项目的结构不明了,其次对整个项目引入自己写的包也是不明白怎么做。上网看到很多说是自己的项目要放到GOPATH的src目录下面才可以,当然GOPATH可以设计多个。但是,这个是go1.9的样子吧,之后go就退出modules(类似于maven)的包依赖管理工具。但是开始用的时候还是有点坑。 我的项目叫:terrorsaur,结构如下:

抛弃GOPATH

  1. 配置GOPROXY和GO111MODULE
在dos(windows)或者terminal(Linux)执行:go env (或者go env GOPROXY)查看GOPROXY环境变量。
如果为空,那就在环境变量添加下。

添加的环境变量如下
Linux:
export GOPROXY=https://goproxy.io
export GO111MODULE=on

Windows:
找到配置环境变量的地方加一下就行.
复制代码
  1. 使用go的modules管理依赖
首先:到你的项目的目录下,我的是 E:/lx/terrorsaur
执行: go mod init terrorsaru      (注意:后面这个terrorsaur是我项目的名字,一定要记住要写名字,要不然自己import自己项目的package的时候会报找不到的错误,这个命令会生成一个go.mod文件)
接着执行:go run main.go  他会自动下载需要的模块,并且会生成一个go.sum文件,记录你需要的包以及对应的版本号
复制代码

总结

碰到一个坑,跟着网上执行:go mod init 然后,进入到go.mod 看到给我项目的名字来了个 github.com/github的用户名/terrorsaru,我说怎么我import自己本项目的package就是报错找不到