Aller au contenu

Canaux

Les canaux sont des conduits typés qui permettent aux goroutines de communiquer et de se synchroniser. Vous envoyez une valeur dans un canal avec ch <- v et vous recevez une valeur avec v := <-ch. Par défaut, les canaux sont non tamponnés : l’envoi bloque jusqu’à ce qu’un récepteur soit prêt, et vice‑versa.

Créer un canal et passer une valeur entre deux goroutines.

package main
import "fmt"
func main() {
ch := make(chan string)
go func() {
ch <- "ping"
}()
msg := <-ch
fmt.Println(msg)
}
Fenêtre de terminal
ping