Multiplexage avec Select
select permet à une Goroutine d'attendre plusieurs opérations de communication. C'est comme une instruction switch mais pour les channels.
go select { case msg1 := <-ch1: fmt.Println("Reçu", msg1) case ch2 <- "salut": fmt.Println("Envoyé salut") case <-time.After(time.Second): fmt.Println("Timeout") }
C'est essentiel pour implémenter des timeouts et des logiques d'annulation dans les microservices.