Use go modules.
In the top directory:
go mod init github.com/username/project-name
This creates go.mod in the top directory.
Put additional packages in their own subdirectories. But *don't* run "go
mod init" for these. They all share the top one.
Example: foo/bar.go contains
package xyz
func Doit() {
...
}
Your users can then import it like this:
import "github.com/username/project-name/foo"
xyz.Doit()
The packages in other subdirectories of your module can refer to each other
in the same way. They should *not* use relative imports. Forget that
relative imports ever existed, and it will all work.
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/f7a03a8e-9fb8-4c51-a601-922f78a5ed4fo%40googlegroups.com.