首页 >后端开发 >Golang >处理两个 github go 项目的最佳实践

处理两个 github go 项目的最佳实践

王林
王林转载
2024-02-08 23:48:31778浏览

处理两个 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

  1. 确保它们位于同一父文件夹中,假设该文件夹的名称为 workspace
  2. cdcdworkspace 中,然后 go mod init ./A && go work use ./B 中,然后 go mod init ./A && go work use ./B
  3. workspace 中运行 go 运行 github.com/A 中运行 go 运行 github.com/A

结果是,在本地开发环境中,您将始终使用本地版本的 github.com/B,因此无需远程同步。

如果您使用的是以前版本的 go,我认为最好的选择是编写一些脚本来自动化此过程

以上是处理两个 github go 项目的最佳实践的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除