在子包中引用包main

时间:2015-02-06 21:23:33

标签: go

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

我的目录结构是:

  • main.go
  • logger.go
  • 路由\ routes.go
  • ...

我认为如果Logger已公开,它已经可用于路线,但我得到了未定义:记录器'在routes.go。如果我尝试在routes.go中导入我的主程序包,则会导致不允许导入循环#39;自routes.go导入包main和main.go导入包路由以来的错误。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

解决此问题的唯一方法是将共享记录程序移至第三个程序包,并将其导入mainroutes。否则你会得到一个循环依赖,你不会看到它。

只需添加名为logger的文件夹,然后将记录器放入其中。现在将其导入其他2个包中,您就完成了。