This is a created article in which the information may have evolved or changed.
1. Platform differentiation
File name _ platform.
Example: File_windows.go, File_unix.go
Optional: Windows, UNIX, POSIX, Plan9, Darwin, BSD, Linux, FreeBSD, NaCl, NetBSD, OpenBSD, Solaris, Dragonfly, BSD, Notbsd, Android Oid,stubs
2. Test Unit
File name test.go or file name platform _test.go.
Example: Path_test.go, Path_windows_test.go
3. Version differentiation (guessing)
File name _ version number, and so on.
Example: Trap_windows_1.4.go
4, the CPU type distinguishes, the assembly uses the multi-
File name _ (platform: optional) _cpu type.
Example: Vdso_linux_amd64.go
Optional: AMD64, none, 386, arm, arm64, Mips64, S390,mips64x,ppc64x, Nonppc64x, s390x, X86,AMD64P32
The above is based on the go source collection and collation, inevitably wrong. Some have not yet been confirmed.