The entire runtime does not depend on the OS. C's run-time is very minimal for exaple. You have a stack memory, heap etc that you setup in protected mode. Your OS will manage the page-tables, process creation etc.
"Go" binary will basically compile into machine code which can be run on bare-metal.
"Go" binary will basically compile into machine code which can be run on bare-metal.
I am doing this currently: https://pdos.csail.mit.edu/6.828/2012/schedule.html
And it's been eye opening to how everything works under the hood!