Junior — Middle
Comment l'interaction entre les goroutines en Go est-elle réalisée?
sobes.tech IA
Réponse de l'IA
En Go, l'interaction entre goroutines se réalise à l'aide de canaux (channels). Les canaux permettent de transmettre des données en toute sécurité entre goroutines et de les synchroniser.
Points clés :
- Le canal est créé avec
make(chan Type). - Envoi dans le canal :
ch <- valeur. - Réception du canal :
valeur := <-ch. - Les canaux peuvent être avec ou sans tampon.
Exemple :
func main() {
ch := make(chan string)
go func() {
ch <- "salut depuis la goroutine"
}()
msg := <-ch
fmt.Println(msg)
}
Ainsi, les canaux assurent une interaction sûre et pratique entre goroutines parallèles sans avoir besoin d'utiliser des mutex ou d'autres mécanismes de verrouillage.