栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go/goLand中import包的大坑解决方案

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go/goLand中import包的大坑解决方案

最近开始使用Go/GoLand 在import 自定义包时出现各种状况,措手不及,大概在网上找了解决方法,几乎没说的清楚的(可能是我个人理解力比较差哈哈)

个人喜好加上网上其他人给的解决方法实在是那个啥,所以 图文方式解决问题 才能事半功倍。

windows环境下装的Goland,Mac及其他linux系统参考,了解到本质后 万变不离其宗。

方案一:使用GOROOT和GOPATH

(以我本机为准举例讲讲各种方法)

     GOROOT:就是Go的安装目录(C:Go),(类似于java的JDK),里面有bin目录(C:Gobin)

     GOPATH: 是我们的工作空间,保存go项目代码和第三方依赖包 (F:Go)

    GOPATH可以设置多个,其中,第一个将会是默认的包目录,使用go get下载的包都会在第一个path中的src目录     下,使用go install时,在哪个GOPATH中找到了这个包,就会在哪个GOPATH下的bin目录生成可执行文件

     使用GOPATH时,Go会在以下为目录中搜索包:

     GOROOT/src:Go标准库

     GOPATH/src:应用自身代码和第三方依赖的代码

------------------------------------------------------------------------------------------------------

该方法对目录架构要求比较严格 例如我的 F:GosrcawesomeProject1, 即必须创建在 GOPATH/src

注意说明:sum1包内的函数要大写,这种方式是严格按照 GOROOT和GOPATH的方式,例如main包import  "awesomeProject1/sum1"

包就会在  $GOPATH/src(Go/src/awesomeProject1/sum1)路径下找到。

 

方案二:使用go.mod    

               通常大家不喜欢将代码放在 $GOPATH/src 下面,此时import pkg 时,就要用到go.mod

              从Go1.11版本之后,已经不再推荐使用GOPATH来构建应用了。也就是说GOPATH被认为时废弃的垃圾的做法。

              当你开启了GO111MODULE=on,仍然使用GOPATH模式的方法,在引入自定义模块时会报错。

用Go modules创建出来的工程中会包含一个go.mod的文件,工程的位置/路径随便

 1. 设置环境变量     go env -w GO111MODULE=on      

2.   打上这个小 对勾。

 

3. 执行 go mod init 。  非必填,不填的话就会采用项目文件的名称。

 

 

 

 

 

 

 

 

 

 

 

 

 

          

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/909163.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号