Skip to content
鼓励作者:欢迎打赏犒劳

go模块

不同的模块的互相引入

go不像java的pom一样,设置坐标和版本,go只有一个module name,那如何相互引入呢?比如模块A引入模块B,需要将模块B上传到github等仓库,然后引入。 当然也可以本地引入,需要replace指定路径。

本地引入

这里的 v0.0.0 并 不是一个真正的 Git tag,而是一个 占位用的版本号。Go 要求 require 语句必须有一个版本号,即使你马上用 replace 去覆盖它。

由于你没有给项目 B 打过 Git tag(比如 v1.0.0),Go 就无法确定版本,所以你可以手动写一个“假的”版本号

text
module demo

go 1.25

require (
	common-util-demo v0.0.0
)
replace common-util-demo => ../common-util-demo

github引入

注意,module的名字要用下面的格式 , 还要打tag

text
module demo

go 1.25

require (
	github.com/coder-lzh/common-util-demo v1.0.1
)

引入指定的分支模块

实际开发中很常见的需求,在开发调试阶段,我们往往需要引用第三方模块的分支代码,等没有问题了,才会最终打tag。我们可以用下面的方法来实现 ,意思是拉取 common-util-demo项目模块的feature/dev分支的代码

shell
go get github.com/coder-lzh/common-util-demo@feature/dev

如有转载或 CV 的请标注本站原文地址