The `go get` command was never marketed as a versioned package management tool. `go get` also works just fine if you point it at forked repositories that you control.
in fairness, Java has an excuse that it’s ancient in language terms and expectations were different then.
Go, not so much - it came out in 2012. Pip and CPAN and Gem had been around for years. Go’s lack of a sane packaging solution this far into its lifetime remains a serious weakness of an otherwise solid platform.
One could argue that golang is a solid platform because they focused on the platform first, instead of the package management. It is all about priorities.