为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能克服 Golang 的要求,即每个包都包含可构建的代码?

我怎样才能克服 Golang 的要求,即每个包都包含可构建的代码?

Go
弑天下 2021-12-07 18:42:02
我正在用 Go 构建一个 Web 应用程序,作为其中的一部分,我定义了几个中间件函数。现在他们都住在“我的/中间件”包中。这个命名空间被我定义的所有不同函数变得非常混乱,所以我决定把它们都放在它们自己的子目录中,例如“my/middleware/gzip”。当我这样做时,我收到错误:no buildable Go source files my/middleware我不希望所有这些函数都在同一个命名空间中,但似乎我唯一的选择是在 my/middleware 目录中创建一个占位符 .go 文件,其中包含一个空的 init 函数或其他东西。这听起来很糟糕,所以当父包中没有任何共享/通用代码时,我想就如何实现我的目标对类似的包进行分组提出建议。
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

通过将文件拆分到不同的子文件夹中,您实际上做出了正确的决定。它与此处所做的没有什么不同 https://golang.org/pkg/compress/ 这允许您的框架的客户端仅获取他们需要的内容。这个想法是为了避免依赖膨胀。Go 就是精益求精。您收到的错误是因为您尝试构建一个不存在的包。将该文件夹视为一种逻辑分组机制,您需要单独构建子文件夹给出的包。


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信