Today we're going to take a look at the Go toolchain, and more specifically at how we can take part in the compilation process with our own code. We won't patch the compiler. We'll stand right next to it while it works, watch what it does, and every now and then hand it something it didn't ask for.
https://internals-for-interns.com/posts/hooking-into-the-go-toolchain