ideally, in a legitimate application 1 project would have 1 go.mod
similar to Java, you would have 1 entry point main.go and import packages to your necessary classes / go files.
Some observations I found :
each package does not need a separate go.mod file.
each package may contain unique variables and functions.
unlike Java where each class is independent, go files are not independent; go packages are independent.
multiple mains
GoLand IDE will not allow multiple package main lines in the project.
However, if you still place it and run the following, each file with main function can run.