Sobes.tech
Junior — Middle

Expliquez le principe de fonctionnement du canal pour la transmission de données dans votre application.

sobes.tech IA

Réponse de l'IA

En Go, un canal (channel) est un type qui permet de transmettre des données en toute sécurité entre goroutines, en assurant la synchronisation et l’échange de messages.

Un canal peut être considéré comme une file d’attente ou un conduit, où une goroutine place des données et une autre les reçoit. Cela aide à éviter les problèmes d’accès concurrent aux données partagées.

Exemple d’utilisation d’un canal :

ch := make(chan int) // crée un canal pour transmettre des int

// envoi de données dans le canal
go func() {
    ch <- 42
}()

// réception de données du canal
value := <-ch
fmt.Println(value) // affichera 42

Ainsi, le canal assure un transfert de données sécurisé et une synchronisation entre goroutines.