The 'go list' command will tell you the dependencies for an application.
Does it? I thought it simply showed every package in the application, not differentiating what is yours and what is not. If I am correct, in no way does it solve the problem that they were trying to address.
This is not the recommended practice.
They specifically note that it isn't the recommended practice, but that it was a compromise to make a more easily reproducible structure. It is absolutely odd -- from a traditional developer perspective -- how the structure of a go application works when there are many dependencies, and I'm not sure what is the recommended practice for actually source controlling that (though we know how individual packages should be managed).
Go files matching the build tags are compiled into the resulting binary
Can you describe what you means? Such as
go build github.com/mypackage?
I've built several solutions with Go now and remain sure that much of what I'm doing is wrong, despite trying to find the relevant information.