It seems most kernels are written in C. But yesterday on Hackernews there was a project called the Biscuit research OS.
It claims to be written in Go although there are some assembly and C code in there. So my question is. How does something like this work where the system can boot but it's written in Go?
If you look around you will find the paper(https://pdos.csail.mit.edu/papers/biscuit.pdf) they used a layer that can support Go runtime over which the Biscuit runs
It contains a lot more information in detail, I suggest you should take a look into it.