Информация об изменениях

Сообщение Re[3]: Можно ли избавиться от async|await? от 16.12.2025 8:14

Изменено 16.12.2025 8:15 mrTwister

Re[3]: Можно ли избавиться от async|await?
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


S>>>Получается если не нужно ждать результата функции — пишем наоборот — nowait. Если ждать результат — ничего не пишем, по умолчанию.

G>>Так работает Go

S>Проверял или просто веришь?


S>Вот C#


S>
S>async Task<int> SumAsync(int a, int b) {
S>    return a + b;
S>}

S>var x = await SumAsync(2, 3);
S>


S>Эквивалент в Go


S>
S>func sumAsync(a, b int) <-chan int {
S>    ch := make(chan int, 1)

S>    go func() {
S>        ch <- a + b
S>        close(ch)
S>    }()

S>    return ch
S>}

S>x := <-sumAsync(2, 3)
S>


S>- еще хуже.


Нет, вот полный эквивалент в go:
func sum(a, b int) int {
    return a + b
}

x := sum(1, 2)


В go все функции асинхронны, у меня уже пальцы устали это писать
Re[3]: Можно ли избавиться от async|await?
Здравствуйте, Shmj, Вы писали:

S>Проверял или просто веришь?


S>Вот C#


S>
S>async Task<int> SumAsync(int a, int b) {
S>    return a + b;
S>}

S>var x = await SumAsync(2, 3);
S>


S>Эквивалент в Go


S>
S>func sumAsync(a, b int) <-chan int {
S>    ch := make(chan int, 1)

S>    go func() {
S>        ch <- a + b
S>        close(ch)
S>    }()

S>    return ch
S>}

S>x := <-sumAsync(2, 3)
S>


S>- еще хуже.


Нет, вот полный эквивалент в go:
func sum(a, b int) int {
    return a + b
}

x := sum(1, 2)


В go все функции асинхронны, у меня уже пальцы устали это писать