Не программируйте интерфейсы, открывайте их.
максимальный размер стека составляет 1 Гбайт для 64-разрядных и 250 Мбайт для 32-разрядных систем
Более того, context.Context экспортирует метод Err, возвращающий nil, если канал Done еще не закрыт. В противном случае возвращается ненулевая ошибка, объясняющая, почему канал Done был закрыт. Например:
• ошибка context.Canceled, если канал отменен;
• ошибка context.DeadlineExceeded, если крайний срок действия контекста прошел.