Go 从其他包访问主包

Go 从其他包访问主包,go,import,package,main,Go,Import,Package,Main,我想从另一个包访问主包,但这是不可能的,因为主文件不在目录中。我已经尝试将主文件放在目录中,但当我尝试导入它时,会出现以下错误: import../main是一个程序,而不是一个可导入的包 我之所以需要它,是因为我有一个tcp服务器和一个Web服务器可以一起工作。Web服务器可以通过主包获取tcp服务器,tcp服务器可以通过主包获取Web服务器 我已经让webserver和tcpserver相互读取(中间没有主包),但我希望将应用程序的某些部分保留在一个位置 我想要的东西是否可能(通过主包)?或

我想从另一个包访问主包,但这是不可能的,因为主文件不在目录中。我已经尝试将主文件放在目录中,但当我尝试导入它时,会出现以下错误:
import../main是一个程序,而不是一个可导入的包

我之所以需要它,是因为我有一个tcp服务器和一个Web服务器可以一起工作。Web服务器可以通过主包获取tcp服务器,tcp服务器可以通过主包获取Web服务器

我已经让webserver和tcpserver相互读取(中间没有主包),但我希望将应用程序的某些部分保留在一个位置


我想要的东西是否可能(通过主包)?或者它只是愚蠢。

您无法导入
包。任何共享代码都应该放在一个单独的包中,可以由
main
(和其他包)导入。

在不知道具体细节的情况下,听起来您应该将Web服务器放在“package webserver”下,将tcp服务器放在“package tcpserver”下。然后,您可以启动一个go程序来导入这两个库。我不相信您已经在“package main”中时能够导入另一个包的“main”。有关讨论,请参阅。@Adrian如果您有需要在
main
中初始化的内容,例如记录器(),该怎么办?例如,由于无法运行
main()
,因此不能在实用程序包中包含该功能。