During a particular build, the following build tags are satisfied:
- ...
- "unix", if GOOS is a Unix or Unix-like system.
- ...
It then says:
If a file's name, after stripping the extension and a possible _test suffix, matches any of the following patterns:
*_GOOS
*_GOARCH
*_GOOS_GOARCH
(example: source_windows_amd64.go) where GOOS and GOARCH represent any known operating system and architecture values respectively, then the file is considered to have an implicit build constraint requiring those terms (in addition to any explicit constraints in the file).
This says that only GOOS and GOARCH are considered; it doesn't say that all possible build tags are interpreted when in the filename, and indeed there are many that are not. For example, "foo_gccgo.go" and "foo_go1.12.go" are not treated specially. So I think it's fairly clear here, as long as you accept that "unix" is neither a GOOS nor a GOARCH.
Aside: finding a comprehensive list of GOOS and GOARCH values is a bit tricker. You can run "go tool dist list", or there are third-party summaries like