❓ Что особенного в chan struct{}
chan struct{} — это канал, по которому передаётся не данные, а сам факт сигнала. Пустая структура struct{} не занимает памяти (0 байт), поэтому такой канал явно говорит читателю кода: «здесь важно только событие, а не его содержимое».
Типичные сценарии:
• Сигнал завершения / отмены. Закрытие канала (close(done)) разом оповещает всех, кто его слушает.
• Синхронизация горутин. Одна горутина ждёт, пока другая пошлёт сигнал ch
chan struct{} — это канал, по которому передаётся не данные, а сам факт сигнала. Пустая структура struct{} не занимает памяти (0 байт), поэтому такой канал явно говорит читателю кода: «здесь важно только событие, а не его содержимое».
Типичные сценарии:
• Сигнал завершения / отмены. Закрытие канала (close(done)) разом оповещает всех, кто его слушает.
• Синхронизация горутин. Одна горутина ждёт, пока другая пошлёт сигнал ch