Comments

In b48bda9 (#14295) go build -o was made to accept directory targets, and to build multiple binaries in that case. The behavior was updated in 081bc62 (#31296).

This is still described in gotip help build.

The -o flag forces build to write the resulting executable or object to the named output file or directory, instead of the default behavior described in the last two paragraphs. If the named output is a directory that exists, then any resulting executables will be written to that directory.