Directions de canaux
Contexte
Section intitulée « Contexte »Lorsque vous utilisez des canaux comme paramètres de fonction, vous pouvez spécifier leur direction : chan<- T (envoi seulement) ou <-chan T (réception seulement). Cela améliore la sécurité de type.
Passer un canal en envoi seulement à un producteur et un canal en réception seulement à un consommateur.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func producteur(out chan<- int) { for i := 0; i < 3; i++ { out <- i } close(out)}
func consommateur(in <-chan int) { for v := range in { fmt.Println(v) }}
func main() { ch := make(chan int) go producteur(ch) consommateur(ch)}012