【问题标题】:Is it possible to embed a package without to copy it?是否可以在不复制的情况下嵌入包?
【发布时间】:2015-04-25 06:20:27
【问题描述】:

假设我们有包 encoding/json。我可以只创建一个包 mypackage 并将所有函数(至少是公共函数)嵌入到我的包中,而无需手动复制它们,并且基本上调用回实际的 json 包吗?我正在开发一个跨平台(谷歌应用引擎/本机)解决方案,我会发现这样的解决方案非常有用。

【问题讨论】:

  • “嵌入”是什么意思?如果您在另一个包中调用函数。不管你把它隐藏了多少层,你仍然需要安装那个包。
  • 请解释一下您的意思。你所说的毫无意义……尤其是“手工复制”……
  • 请注意,只写import encoding/json 并不会阻止您在GAE 上进行开发或交叉编译。由于它也是标准库的一部分,因此无需“供应”它,因为它遵守 Go1 兼容性承诺。
  • 我正在 Google App Engine 平台上开发一个应用程序。但是我也想让它在非 appengine 环境中工作,所以我必须将 GAE 特定的包包装到我的包中(编写具有相同名称的函数)并使用构建标签来构建 GAE 或非 GAE 版本。在我多加一点之后,我认为我真正需要的基本上是一个包别名而不是嵌入。基本上,当一个函数调用 mypackage.aFunction 时,它应该调用 appengine.aFunction
  • 为什么不只是import myPackage "path/to/another/package"

标签: google-app-engine go


【解决方案1】:

没有。

听起来您想要某种包继承,这不是受支持的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 2023-03-15
    • 1970-01-01
    • 2013-07-13
    • 2012-04-24
    • 1970-01-01
    • 2021-10-11
    • 2014-02-03
    相关资源
    最近更新 更多