📚 Cheatsheet

Une collection organisée de snippets de code pour accélérer votre développement. Parcourez, recherchez et copiez en un clic.

Snippets 6

Retour
Créer un channel
Facile
messages := make(chan string)
Envoyer et recevoir sur un channel
Intermédiaire
go func() { messages <- "ping" }()
msg := <-messages
Lancer une goroutine
Facile
go func() {
    fmt.Println("Exécuté en parallèle")
}()
Utiliser select sur plusieurs channels
Avancé
select {
case msg1 := <-c1:
    fmt.Println("reçu", msg1)
case msg2 := <-c2:
    fmt.Println("reçu", msg2)
}
Utiliser un channel bufferisé
Intermédiaire
ch := make(chan int, 2)
ch <- 1
ch <- 2
// ch <- 3 // Bloquerait
Utiliser un WaitGroup
Avancé
var wg sync.WaitGroup
for i := 0; i < 5; i++ {
    wg.Add(1)
    go func(i int) {
        defer wg.Done()
        fmt.Println(i)
    }(i)
}
wg.Wait()