Junior — Middle
De quelles manières l'interaction entre les goroutines est-elle réalisée dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, l'interaction entre goroutines se fait généralement via des canaux (channels). Les canaux permettent de transmettre des données en toute sécurité entre goroutines, assurant la synchronisation et l'échange de messages.
Exemple d'utilisation d'un canal :
package main
import (
"fmt"
)
func worker(ch chan string) {
ch <- "prêt"
}
func main() {
ch := make(chan string)
go worker(ch)
msg := <-ch
fmt.Println(msg)
}
En plus des canaux, d'autres mécanismes de synchronisation peuvent être utilisés, comme le mutex du package sync, mais les canaux sont considérés comme la façon idiomatique de communiquer entre goroutines en Go.