如何在Go中访问嵌套模块(子模块)?

休伯特:

Go版本:1.12.9

这是一个简单的演示项目的结构:

在此处输入图片说明

因此,我们有一个模块,其中包含两个模块:activityperson

我想将domain与主文件=> modules.go中的所有嵌套模块一起使用

好的,我知道如何在主go.mod中导入

module modules

go 1.12

replace modules/domain v0.0.0 => ./domain

require modules/domain v0.0.0

所以之后可以使用domain / domain.go中的代码,但是我无法访问!活动人员模块中的代码

是的,我可以手动导入嵌套模块,例如:
(main go.mod):

module modules

go 1.12

replace modules/domain v0.0.0 => ./domain

replace modules/domain/activity v0.0.0 => ./domain/activity

require (
    modules/domain v0.0.0
    modules/domain/activity v0.0.0
)

但我不想手动导入所有子模块。

题:

如何配置模块以导入具有所有子模块的

预先感谢,
休伯特

沃尔克:

但我不想手动导入所有子模块。

Go中没有“我想要”。而且没有“子”模块的概念,所有模块都是平等的。和所有(*)软件包一样。如果要使用软件包,则必须将其导入。死了很简单。

最佳建议:停止使每个程序包都具有自己的模块;这很可能是矫kill过正或明显错误。停止制作小包装。停止尝试模仿可能会被其他语言使用的源代码布局。阅读“如何编写Go代码”并一字不漏地坚持下去。

(*)内部软件包和供应商软件包是一个例外,不适用于您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章