gpt4 book ai didi

go - 是否有将包拆分为模块化组件的标准做法?

转载 作者:数据小太阳 更新时间:2023-10-29 03:31:26 25 4
gpt4 key购买 nike

我正在开发一个具有多层功能的库。我希望开发人员能够只导入他们需要的部分,即 mylib-coremylib-feature1mylib-feature2 等。每个人都生活在自己的 git 仓库中。我还想提供一个简单的 mylib 包,它公开了一组默认功能,这对库的新开发人员很有用。参见 d3.js版本 4+ 用于与我正在尝试完成的非常相似的事情。

我遇到的问题是

  1. 显然您不能在包之间共享包名。这是一个问题,因为最好导入所有需要的存储库,然后简单地在 mylib 名称下提供所有可用内容。

  2. 我没有看到一个明显的方法来重新导出功能,以构建默认的 mylib 包。

是否有好的解决方案或更惯用的方法来实现我的目标?

最佳答案

回答你的问题,没有惯用的方式来做你想做的事。在 JavaScript 中,导入库并导出其成员而不受干扰是很常见的。在 Golang 中不是这种情况。

我建议您将整个库托管在一个存储库下,并将功能拆分为多个包。 Go 编译器只会编译和使用导入的包。

还有一个关于 future 的提示,Go 与您以前知道的几乎任何其他语言都非常不同 😎

关于go - 是否有将包拆分为模块化组件的标准做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53890537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com