Все примеры, которые я видел до сих пор, включают блокировку для получения результата (через оператор <-chan
).
Мой текущий подход предусматривает передачу указателя на структуру:
type goresult struct {
result resultType;
finished bool;
}
, который записывает горутин по завершении. Тогда просто проверить finished
, когда это удобно. У вас есть лучшие альтернативы?
То, к чему я действительно стремлюсь, это система слотов сигналов в стиле Qt. У меня есть предчувствие, что решение будет выглядеть почти тривиально (у chan
s есть много неизведанного потенциала), но я еще недостаточно знаком с языком, чтобы понять это.