现在 新配了 go环境 设置了GOROOT,GOPATH ,发现引用别的包会出问题。
一直会报 package XX not in GOROOT (xxxx)
我的目录:
我的开发目录: /home/fate/go_projects/
老样子,下面有 /home/fate/go_projects/bin, /home/fate/go_projects/pkg,
/home/fate/go_projects/src 三个目录
其中src下面:

现要开发review_1 这个工程
现记录下:
1)GOPATH 和 go mod init xx 是冲突的!
老老实实置空GOPATH
$export GOPATH=
2)在 /home/fate/go_projects/src/review_1 下,也就是我目前的工程之一
运行 $go mod init review_1
之后才会有go.mod 生成
3)在这个工程中我需要"github.com/montanaflynn/stats"这个库
然后:
go get github.com/montanaflynn/stats
go install github.com/montanaflynn/stats
4) main.go 中引入dbutils 以及 github.com/montanaflynn/stats 包:

使用stats:

调用 dbutils.GetConn()
就不报错了。。
关键解决:
废弃GOPATH 的配置;
要在src/下的对应文件夹(src/review_1)中 进行 go mod init review_1 ,这两名最好一样;
调用时,最后一层包名必须使用,即:dbutils.GetConn() 而不是直接 GetConn()
此外,包中供外部引用的函数必须首字母大写。