Hacker News new | ask | show | jobs
by tsimionescu 2221 days ago
I don't think that's true.

    foo := bar()
In Go is equivalent to

    auto foo = bar();
In C#, in terms of semantics.

It is true that, due to the runtime implementation,

    go foo()
Is significantly less wasteful than

    new Thread(() => foo());
So there is less of a need for async code in Go.

But if you want to start multie things in parallel and await all of them, or if you want to create asynchronous workflows that modify shared resources without locking, you don't have any Go library or construct to help, which was precisely what async/await gives you.