I've built .exes for Windows just fine on Linux. I don't know about Apple stuff, though, I don't think there's any built-in Linux tooling to submit an executable for Apple's signature scheme.
You can in fact also do it in C
It's not quite as seamless as in Go to be fair. But it does mean you can write Rust instead of Go.