Access main package from other package
You cannot import
the main
package. Any shared code should go in a separate package, which can be imported by main
(and other packages).
Jan Wytze
Updated on June 15, 2022Comments
-
Jan Wytze almost 2 years
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
The reason that I want this because I have a tcp server and a webserver that work together. The webserver can get the tcp server via the main package and the tcp server can get the webserver via the main package.
I already got it working with the webserver and tcpserver reading from each other(without the main package in the middle), but I want to keep some parts of the application at one place.
Is the the thing I want possible(Via the main package)? Or is it just stupid.
-
Elliott Beach over 6 yearsSee also groups.google.com/forum/#!topic/Golang-nuts/frh9zQPEjUk for discussion.
-
TheRealFakeNews about 3 years@Adrian What if you have something you need to initialize in
main
, such as a logger (pkg.go.dev/go.uber.org/zap#example-package-Presets)? You cannot have that in a utility package, for example, because you can't runmain()
. -
Adrian over 2 yearsThen
main
should pass it to the functions/methods it calls.