The spec doesn&#x27;t define field ordering anywhere, which is why it&#x27;s undefined. Russ Cox commented on the bug I linked essentially confirming it:<p>&gt; It seems fine to me for the spec not to guarantee anything about struct field order in memory. The spec doesn&#x27;t operate at that level.<p>And while he adds<p>&gt; That said, no Go compiler should probably ever reorder struct fields.<p>the final result is struct memory layout is unspecified and implementation-dependent (essentially identical to repr(rust), as I understand it)