Alex Yakunin
1 min readAug 7, 2020

--

Oh, I just looked up at the screenshot & realized that goroutines is actually a big problem. It looks like you currently convert all code involving channels to sync (blocking) code, though in reality such code has to be converted to async methods in .NET, and since in Go every function is both sync & async (i.e. any function may await on a channel), you'll have to generate an async method in C# for every Go function.

In fact, the problem is not unique to C# though - i.e. only Go nowadays support this "both sync & async" execution model for every function you call. I wrote I find it super convenient, but this is something that's really hard to convert.

--

--

Responses (1)