возращает односторонний канал и предлагает рейджем читать из него. Но что делать, если я в какой то момент захочу перестать читать? В случае, когда канал пустой, то я не вижу вариантов, как можно выйти из цикла, ведь в тело функции код ни разу не дойдет
for c := range ch {
// хочу здесь как нибудь брейкнуть рейндж, но канал пустой и код сюда не доходит
}
Зависит от библиотеки. Скорее всего из другого потока дернуть метод библиотеки, который закроет канал и рендж завершится
Обсуждают сегодня