【问题标题】:how can i use a function inside main package from a file in another package in GO?如何从 GO 中另一个包中的文件中使用主包中的函数?
【发布时间】:2016-09-15 20:33:14
【问题描述】:

您好我想在主包中调用一个方法,我的项目结构是这样的: 来源:

  • 转到文件:主包
  • Postgres 文件夹:

    • go 文件:postgres 包

现在我想从 postgres 包中的 postgres 文件夹中的 go 文件调用 main 包中的方法。 我试图导入“foo/src” 然后使用 src.Myfunction 但出现错误:

import "foo/src" is a program, not an importable package

【问题讨论】:

  • 您无法导入主包。你需要重构代码。

标签: go


【解决方案1】:

main 包应该仅用于实现二进制/命令特定代码。它通常从其他包中导入代码以将所有内容粘合在一起。如果您需要main 导入某些东西,那么该代码可能不是特定于该命令的,因此它应该属于另一个包。重构代码后,您可以从包 main 和其他同样需要它的包中导入它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    相关资源
    最近更新 更多