在子包中引用包 main

Golang 新手,有一个看似简单的问题。如果我的logger.go项目根目录的main 包中有一个记录器(并在 中定义),我如何在子包(即: my routes package)中引用该记录器?

我的目录结构是:

  • main.go

  • 记录器

  • 路线\routes.go

  • ...

我认为如果 Logger 是公开的,它已经可用于路由,但我在routes.go. 如果我尝试导入我的主包,routes.go我会收到“不允许导入循环”错误,因为routes.go导入包 main 和main.go导入包路由。

任何帮助将非常感激!


一只名叫tom的猫
浏览 234回答 1
1回答

紫衣仙女

解决此问题的唯一方法是将共享记录器移动到第三个包并将其导入到main和routes. 否则你会得到一个循环依赖,正如你所见,这是不允许的。只需添加一个名为的文件夹logger并将您的记录器放在那里。现在将它导入到其他 2 个包中,你就完成了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go