大蟒蛇python教程共享go中import包的大坑解决方案

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

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

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

方案一:使用goroot和gopath

go中import包的大坑解决方案

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

  • 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

go中import包的大坑解决方案

go中import包的大坑解决方案

go中import包的大坑解决方案

注意说明: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中import包的大坑解决方案

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

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

2.   打上这个小 对勾。

go中import包的大坑解决方案

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

到此这篇关于go中import包的大坑解决方案的文章就介绍到这了,更多相关go import包坑内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多python教程分享go中import包的大坑解决方案,都可以关注python教程分享栏目—计算机技术网(www.ctvol.com)!

www.ctvol.com true https://www.ctvol.com/pythontutorial/1117933.html Article 大蟒蛇python教程共享go中import包的大坑解决方案

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/pythontutorial/1117933.html

(0)
上一篇 2022年7月10日
下一篇 2022年7月10日

精彩推荐