I really wanted to love Go, spent time learning it, bought a few books read it,etc.
It did not work out for me for embedded field, it's too large in binary size, no real time due to GC, and I still need to interface with C code here and there.
In the end, I'm back to c and c++, I consider my time on Golang is actually totally a waste.
Go has its own uses e.g. native cloud or something, even there lots of alternatives exist.
It's pretty hard to replace existing popular languages, as those languages are also evolving fast.
Anything with a GC is an immediate killer for small embedded projects. Anything STM32 sized or less is going to struggle with GC due to lack of memory.
But in the intervening years the average embedded device has got larger and more powerful so now I'm doing embedded programming on devices with Linux in languages like python and Go. So maybe just wait and your Go learning will be useful again?
It did not work out for me for embedded field, it's too large in binary size, no real time due to GC, and I still need to interface with C code here and there.
In the end, I'm back to c and c++, I consider my time on Golang is actually totally a waste.
Go has its own uses e.g. native cloud or something, even there lots of alternatives exist.
It's pretty hard to replace existing popular languages, as those languages are also evolving fast.