All the examples I've seen so far involve blocking to get the result (via the <-chan
operator).
My current approach involves passing a pointer to a struct:
type goresult struct {
result resultType;
finished bool;
}
which the goroutine writes upon completion. Then it's a simple matter of checking finished
whenever convenient. Do you have better alternatives?
What I'm really aiming for is a Qt-style signal-slot system. I have a hunch the solution will look almost trivial (chan
s have lots of unexplored potential), but I'm not yet familiar enough with the language to figure it out.