<a href="https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;mem" rel="nofollow">https:&#x2F;&#x2F;golang.org&#x2F;ref&#x2F;mem</a><p>Btw, in case it&#x27;s not clear, Go has worked on ARM for the last 6 years, this is not a new thing.<p>It is the job of the compiler and runtime writer to ensure this model on whatever target platform. It doesn&#x27;t matter if the target platform has a strong or weak memory model. Correct Go programs written for the Go memory model should work correctly on any target.<p>Of course that it&#x27;s possible to write Go programs that violate the memory model but work on amd64, and not on some other platforms. But those are incorrect Go programs (and the race detector has a very good chance of detecting these problems). I will note that it&#x27;s significantly harder to write these programs accidentally in Go though, than it is to write them in C.