Speaking of Go, it's appearently commonly used for server side services/apps. Well the same can be said for Java and C#/F#/VBNet.
All applications we all use on the client side are C/C++/ObjectC/web apps. (exceptions are maybe Eclipse/IntelliJ, mind that Visual Studio is C++). Java on Android is an exception for legacy reasons (Google bought the Android company; and we pay the price buy using 2x-4x as powerful hardware (CPU cores & memory) comparing to iPhone to get similar UX & latency). Even the Win10 startmenu is still a C++ application for performance reasons. AOT is helpful for certain execution paths like JIT and isn't magic. Even the Win8/10 calculator app has a loading splash screen, the FirefoxOS calc app starts faster. XML based UI languages work, but aren't that great (e.g. resizing the Win10 startmenu isn't what I would call responsive design in comparision what we known from HTML5&CSS3).
One advantage of Go is that more code is dependent on the network which is where Go shines at. Go looks like a hammer when the network looks like a nail. For example, Go was one of the first to start adding HTTP2 support. If Go is always there for network tools, it will creep into areas that perhaps many would not have foreseen like security systems that were previously done in C and C++.
They have support for generics and FP like programming that Go will never get.
Go will never have the access to the system resources on Windows and Windows Store like .NET does.
Go will never had access to Android frameworks like Java does.
Go doesn't have a UI toolkit like JavaFX and XAML.
All companies selling IoT SDKs are paring Java with C stacks.
Go doesn't have the IDE tooling support that Java and .NET enjoy.
Java and .NET having a hard time? Only if one is living in a bubble.