&gt; the reason why Go can even be cross compiled in the first place is because it has platform specific C and assembly code<p>It does not have platform-specific C code, as there is no more C code anymore. It sure does have platform-specific Go code and platform-specific assembly code though.<p>&gt; from cgo&#x27;s runtime so it can support the different architectures&#x2F;platforms.<p>There is platform-specific code in the <i>runtime</i>, and there is platform-specific code elsewhere in the standard library, e.g. in the syscall package, but it&#x27;s not from &quot;cgo&#x27;s runtime&quot; (whatever that means). Go does not require cgo to interact with the target system, even on platforms where the interaction is done through shared libraries, not system calls, like Solaris and Windows.