处理两个 github go 项目的最佳实践
php小编百草为您带来了关于处理两个 GitHub Go 项目的最佳实践的介绍。在开发过程中,我们经常需要处理多个项目之间的依赖关系和代码协作。本文将分享一些有效的方法和建议,帮助您优化项目结构、管理依赖、解决冲突,并提高代码的可维护性和可扩展性。无论是初学者还是有经验的开发者,都能从中受益,提升开发效率和项目质量。让我们一起来探索这些最佳实践吧!
问题内容
我正在开发两个基于 github 的 golang 项目,其中一个项目依赖于另一个项目。
假设我有项目 A (github.com/A),具体取决于项目 B (github.com/B)。所以现在我正在对项目B进行修改,推送代码,并在项目A中执行go get github.com/B
,以获取项目B的最新代码。
这个过程非常耗时,而且对我来说听起来也不合适。我以为GO_PATH位置的项目B的更改文件,但似乎GO_PATH下载的项目是只读的。
有没有更好的方法来做到这一点?
解决方法
利用 golang 工作区
如果您的 golang 版本是 1.18+,您可以利用工作区功能来改善您的开发体验。
让我们使用您的示例,这样我们就有了 github.com/A
,它依赖于 github.com/B
。
- 确保它们位于同一父文件夹中,假设该文件夹的名称为
workspace
-
cd
在workspace
中,然后go mod init ./A && go work use ./B
- 在
workspace
中运行go 运行 github.com/A
结果是,在本地开发环境中,您将始终使用本地版本的 github.com/B
,因此无需远程同步。
如果您使用的是以前版本的 go,我认为最好的选择是编写一些脚本来自动化此过程
以上就是处理两个 github go 项目的最佳实践的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341