Sobes.tech
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.