Обычный select не поддерживает динамическое число case'ов — они фиксированы при компиляции. Для динамического select есть reflect.Select, который принимает slice of SelectCase. Каждый case описывает направление (Send/Recv/Default) и канал. Это медленнее обычного select из-за reflect, но единственный способ работать с переменным числом каналов. Альтернатива — fan-in через горутины.
Как динамически добавлять каналы в select?
Middle+
113 просмотровAFK Offer AI
Что такое projection?