Reputation: 4161
new to Golang and have a seemingly simple question. If I have a logger in package main (and defined in logger.go
) at my project root, how do I reference that logger in a subpackage (ie: my routes package
)?
My directory structure is:
I would think if Logger is public it would already be available to routes, but I get 'undefined: Logger' in routes.go
. And if I try to import my main package in routes.go
I get an 'import cycle not allowed' error since routes.go
imports package main and main.go
imports package routes.
Any help would be much appreciated!
Upvotes: 0
Views: 2182
Reputation: 49265
The only way to resolve this is to move the shared logger to a third package and import it into both main
and routes
. Otherwise you get a cyclic dependency which as you've seen is not allowed.
Simply add a folder called logger
and put your logger in there. now import it into the other 2 packages, and you're done.
Upvotes: 0