Senior
Que peut-on utiliser pour transmettre des données entre des goroutines?
sobes.tech IA
Réponse de l'IA
Pour transmettre des données entre goroutines en Go, on utilise généralement des canaux (channels). Les canaux assurent une synchronisation sûre et un transfert de données, permettant aux goroutines d’échanger des valeurs sans blocages explicites.
Exemple d’utilisation d’un canal :
ch := make(chan int)
// Envoi de données dans une goroutine
go func() {
ch <- 42
}()
// Réception de données
value := <-ch
fmt.Println(value) // 42
En plus des canaux, on peut utiliser la mémoire partagée avec synchronisation via un mutex du package sync, mais les canaux sont considérés comme une méthode plus idiomatique en Go.