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

GO 导入(import)相对路径(Relative Path)的问题

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

GO 导入(import)相对路径(Relative Path)的问题

1、问题的产生:

        在github上fork一个开源项目之后,想要修改部分代码后供公司项目使用。发现需要修改源项目中的所有内部import,例如开源模块 M中存在P1、P2等package, 其中P2 import P1的import路径为 “github.com/someone/M/P1”,而我fork的分支里则是需要import 自己修改后的 "github.com/myself/M/P1",与此类似,整个开源项目里很多这种地方都需要修改。

所以引出了对相对路径导入的思考,有没有什么办法支持相对路径的导入而方便fork之后的差异开发呢?

2、对问题的探索与思考:

经过网上资源查找,发现早期的GO是支持相对路径引用的,例如上面的例子, P2中是可以直接 import "./P1”的,但是之后又取消了, 这里有关于这个问题类似的提问和探讨,需要翻墙

3、结论及解决办法:

既然相对路径导入的方式已经被官方移除了,肯定是有他的原因(总体来说是利大于弊的),那么就是如何适应它了。

参考提问中的回答,如下图:

解决办法中第一条看了半天硬是没看懂,介于它是针对小改动的,就不管他了。哪位读者看到这里如果明白他上面的意思,希望不吝赐教,谢谢了。

第二条针对大修改的,还是逃不脱 修改所有导入路径 的这个办法。。至于修改的具体方式就看个人喜好了。

批量修改好像还有一个便捷方式,就是在mod文件中使用replace,不过对replace还不熟悉,是否会引发出其他问题还不好说。

相关链接:

https://groups.google.com/g/golang-nuts/c/E_TK2n9E-to
 

Relative imports in Go | Newbedev
 

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

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

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