Go is pretty awesome at managing memory and there is no better resource to understand it than its reference page; it is pretty dense ⚡
The document goes in-depth and covers literally everything you need to know about it, from its model, the intuition, the trade-offs, the sync primitives, locking vs message passing, and more importantly which sync primitive to use and when along with potential pitfalls.
give it a read: go.dev/ref/mem
If you write Go programs, this document is a must-read even if you just want to write good Go code and not dive deep into internals.
⚡ I keep writing and sharing my practical experience and learnings every day, so if you resonate then follow along. I keep it no fluff.
youtube.com/c/ArpitBhayani