Асинхронность — важный элемент современных систем, и корутины играют в этом не последнюю роль, но как насчёт Go? В этом докладе мы поговорим о том, что такое корутины, как они работают, и в чём их отличие от горутин. Обсудим stackless и stackful корутины, их плюсы и минусы, и главное, попробуем разобраться, как создать корутинное поведение на Go. Разберём, когда это полезно, какие есть ограничения и почему Go всё-таки выбрал свой путь к асинхронности.