From: Michael Hudson-Doyle
-The Go compilers support three instruction sets. +The Go compilers support five instruction sets. There are important differences in the quality of the compilers for the different architectures.
amd64 (a.k.a. x86-64); 6g,6l,6c,6a
+ amd64 (also known as x86-64)
gccgo can do noticeably better sometimes).
386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a
+ 386 (x86 or x86-32)
amd64 port.
arm (a.k.a. ARM); 5g,5l,5c,5a
+ arm (ARM)
arm64 (AArch64)
+ppc64, ppc64le (64-bit PowerPC big- and little-endian)
+$GOHOSTOS and
Choices for $GOOS are
-darwin (Mac OS X 10.6 and above), dragonfly, freebsd,
-linux, netbsd, openbsd,
+darwin (Mac OS X 10.6 and above and iOS), dragonfly, freebsd,
+linux, netbsd, openbsd,
plan9, solaris and windows.
Choices for $GOARCH are
amd64 (64-bit x86, the most mature port),
-386 (32-bit x86), and arm (32-bit ARM).
+386 (32-bit x86), arm (32-bit ARM), arm64 (64-bit ARM),
+ppc64le (PowerPC 64-bit, little-endian), and ppc64 (PowerPC 64-bit, big-endian).
The valid combinations of $GOOS and $GOARCH are:
darwin | amd64 |
||||
dragonfly | 386 |
+darwin | arm |
+||
darwin | arm64 |
||||
dragonfly | amd64 |
@@ -396,6 +412,15 @@ The valid combinations of linux | arm |
||
linux | arm64 |
+||||
linux | ppc64 |
+||||
linux | ppc64le |
+||||
netbsd | 386 |
||||
openbsd | amd64 |
||||
openbsd | arm |
+||||
plan9 | 386 |
||||