2. “问题1:不设置gopath后,goland就识别不了本地包。”,通过go mod来管理项目,这个需要在Goland中项目需要设置为为go module项目才可以,Goland才可以识别。
“ 不引入gopath,goland本地包的引用爆红怎么解决?”gopath和go mod只能二选一,互斥的。通过go mod会自动引入包,但需要通过go mod tidy来查找并下载依赖包。
3.“问题二go mod init 后面接的包路径名imooc.com/resk,有什么作用,有什么讲究嘛?” 后面跟的是module name,由一系列包名组成,父子包名通过"/"分割,比如:x/y/z/.../... ,x、y、z、...名称都可以全部自定义,习惯性的第一个包名是所在公司的域名,第二个开始可以按照组织结构和项目来自由定义规范。
4. "问题三:能不能设置gopath后,打开go111modules为on,来进行go mod 操作?" 首先和第二个问题一样gopath和go mod只能二选一,在golang1.12.x开始默认go111modules为auto,使用go mod命令时会根据项目目录下面是否存在go.mod来判断,如果当前目录下面存在go.mod文件,就使用当前目录下面的go mod来管理和下载依赖;如果不存在,就一次向上文件夹搜索直到找到go.mod文件;如果不存在,那么就提示“
go: cannot find main module; see 'go help modules'
”
@Echo鑫同学学习非常认真,非常赞!加油喔!