Go's "pseudo-assembly" is not a plus. Everyone ends up learning <i>both</i> the architecture's assembly and the mapping to Go's pseudo-assembly which isn't actually portable because each architecture has architecture-specific features.
A colleague passed this along to me. I've been doing a lot of work in the guts of the Go runtime as part of my work at Wallaroo Labs and while there isn't a ton here yet, what there is was helpful.<p>The links at the bottom were what I found particularly helpful.
This 2017 FOSDEM talk is also interesting on this subject:
<a href="https://archive.fosdem.org/2017/schedule/event/go_scaling/" rel="nofollow">https://archive.fosdem.org/2017/schedule/event/go_scaling/</a> ; albeit it's more on the cryptographic side of things.
> 137438953482 actually corresponds to the 10 and 32 4-byte values concatenated into one 8-byte value<p>32<<32|10 might be a bit clearer, then...