.NET can be compiled to native binaries. .NET can be used for embedded development.
C# is more expressive and .NET comes with batteries included. Go is more explicit and more verbose.
You can pick up Go faster and is easier to reason about Go code when you first encounter a new project but C# feels like it enables you to develop faster and be more productive.
For web both are excellent and performant, even if they have different philosophy.
What I like about C# is that it becomes more functional and I can even mix F# in the projects if I want even more functional programming.
Cool I didn't know about it's AOT, but it looks very... well hobbyist. Anyway, "Go is more explicit and more verbose" is a feature, but that's a matter of personal taste.
I worked with C# for a decade, I'll likely never work with it again if I can help it. Not because it's bad, it's better than it's ever been. But because I really dislike the way they include their batteries. It leads to long debugging and refactoring sessions when tired people have written what is not their best work on years worth of thursday afternoons. I think people who like implicit frameworks must have been good enough to work in places that had better quality than the places I've worked.
C# is more expressive and .NET comes with batteries included. Go is more explicit and more verbose.
You can pick up Go faster and is easier to reason about Go code when you first encounter a new project but C# feels like it enables you to develop faster and be more productive.
For web both are excellent and performant, even if they have different philosophy.
What I like about C# is that it becomes more functional and I can even mix F# in the projects if I want even more functional programming.