I want to access the main package from another package, but this is impossible because the main file isn't in a directory. I already tried putting the main file in a directory, but when I try to import it I get this error:
import "../main" is a program, not an importable package

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

我已经让它与web服务器和tcpserver一起工作(中间没有主包),但我希望将应用程序的某些部分保留在一个位置.

我想要的东西可能(通过主包)实现吗?还是只是愚蠢.

推荐答案

main套餐不能import.任何共享代码都应该放在单独的包中,该包可以由main(和其他包)导入.

Go相关问答推荐

如何在Go中使用a-h/tempson渲染预格式的内容?

如何禁用Go SRC包中的VSCode警告?

try 用GitHub操作中的release标签更新version. go文件,但失败了

Kafka消费者在需要时不会暂停

获取作为类型参数传递给方法接收方中的类型参数的切片的基础类型

按位移计算结果中的差异

通过多阶段构建复制到 Docker 容器中时找不到文件

一个Go module可以和之前的非module模块发布在同一个路径下吗?

在 Cloud Run 中找不到默认凭据

当填充通道的函数调用未嵌入 goroutine 时,为什么我会遇到死锁?

具有两个参数的动态规划:天数和优惠券

Golang 中的泛型类型转换

也许在 golang 中包(字符串和字符串类型不匹配)

Golang - 客户 Unmarshaler/Marshaler 在指针上具有 nil/null 值

如何将多个切片打印为一个切片?

将 []float64 像素切片转换为图像

GoReleaser 和 ssh-agent Github 操作:为什么无法读取用户名...终端提示已禁用?

具有相同提前返回语句的函数的不同基准测试结果

如何排除溢出矩阵的坐标

我该如何做错误处理惯用的方式