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

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

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

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


S>[cut]

S>[q]
S>Если бы в Go все функции были асинхронными, в языке существовали бы:

S>

    S>
  • implicit future,
    S>
  • await-поведение,
    S>
  • выражение результата,
    S>
  • continuation semantics.
    S>

S>Ничего этого в Go нет.


Все это есть в Go, но без явных языковых конструкций.
Когда ты в Go пишешь "sum(1, 2)" тут неявно подразумевается псевдокод "await sum(1,2)". У тебя вызывающая функция до sum может выполняться в одном потоке ОС, а после "x := sum(1, 2)" может продолжить выполняться вообще в другом потоке.
Re[5]: Можно ли избавиться от async|await?
Здравствуйте, Shmj, Вы писали:


S>[cut]

S>[q]
S>Если бы в Go все функции были асинхронными, в языке существовали бы:

S>

    S>
  • implicit future,
    S>
  • await-поведение,
    S>
  • выражение результата,
    S>
  • continuation semantics.
    S>

S>Ничего этого в Go нет.


Все это есть в Go, но без явных языковых конструкций.
Когда ты в Go пишешь "sum(1, 2)" тут неявно подразумевается псевдокод "await sum(1,2)". У тебя вызывающая функция до sum может выполняться в одном потоке ОС, а после "x := sum(1, 2)" может продолжить выполняться вообще в другом потоке (то есть так же, как в C# варианте).