Golang的新手,并提出了一个看似简单的问题。如果我logger.go在项目根目录的main包中有一个logger(并在中定义),那么该如何在子包(即my routes package)中引用该logger ?
logger.go
routes package
我的目录结构是:
我认为如果Logger是公共的,它已经可以用于路由了,但是我在中得到了“ undefined:Logger” routes.go。而且,如果我尝试导入主程序包,routes.go则会收到“不允许导入周期”错误,因为routes.go导入程序包主程序和main.go导入程序包路由。
routes.go
main.go
任何帮助将非常感激!
解决此问题的唯一方法是将共享记录器移至第三个程序包,并将其导入到main和中routes。否则,您将获得一个循环依赖性,如您所见,它是不允许的。
main
routes
只需添加一个名为的文件夹logger,然后将记录器放在其中。现在将其导入其他2个软件包中,您就完成了。
logger