Здравствуйте, mrTwister, Вы писали:
T>Дальше не читал. Горутина в go — это просто структура данных. Как, например, Task в .net. Не в смысле, что это аналог, в смысле что это вспомогательная структура данных для организации вычислений. Вызов функции в go блокирует горутину точно так же, как await блокирует асинхронную функцию в C#
T>Давай так, объясни, чем в плане поведения (а так же потребление ресурсов, потоков) отличаются C# вариант от go варианта?
Вся суть async/await — в том что можно получить Task/Promise/Future и манипулировать ими. Т.е. можете дождаться результата — а можете не дожидаться — но не просто не дожидаться — а заиметь промис, в котором будет результат.
Без возможности получить промис — все теряет смысл.