I recently came across two videos that do a fantastic job of explaining exactly what happens during go compilation.
Jesús Espino follows the whole path of a Hello World program - from parsing source files, to assembly generation, to runtime execution:
Daniel Martin goes more into the optimization and caching techniques that make Go builds so fast:
These are pretty low-level talks, and might be intimidating for some (I was only barely keeping up), but they’re totally worth the effort. Highly recommended.