Junior — Middle
Parlez de votre expérience dans l'utilisation de canaux pour organiser l'interaction entre les composants ou les threads.
sobes.tech IA
Réponse de l'IA
En Go, les canaux sont utilisés pour organiser un échange sécurisé de données entre goroutines, ce qui facilite la synchronisation et la communication.
Exemple d'utilisation d'un canal pour transmettre des données entre deux goroutines:
package main
import (
"fmt"
"time"
)
func worker(ch chan string) {
msg := <-ch // réception du message du canal
fmt.Println("Message reçu:", msg)
}
func main() {
ch := make(chan string)
go worker(ch)
ch <- "Bonjour du main!" // envoi du message au canal
time.Sleep(time.Second) // attendre la fin de la goroutine
}
Les canaux aident à éviter les conditions de course et rendent le code plus lisible et maintenable lors de la gestion de la concurrence.