I would like to know how to coordinate routines in Go. A real case would be to coordinate two resources obtained through a request http. For example in node Nodejs would solve this with: Promise.all [service1, service2]
func request(c chan bool, ms time.Duration, val bool) {
time.Sleep(ms * time.Millisecond)
c <- val
}
func main() {
c := make(chan bool, 2)
go request(c, 1000, true)
go request(c, 0, false)
first, second := <-c, <-c
fmt.Println(first, second) // output false true
}
The first one to be resolved is placed over the others, but how can I identify each one?
Thanks for you time.