Sobes.tech
Junior — Middle

À quelle fréquence utilisez-vous des canaux pour organiser la transmission de données entre goroutines?

sobes.tech IA

Réponse de l'IA

En Go, les canaux (channels) sont le mécanisme principal pour le transfert sécurisé de données entre goroutines et pour synchroniser leur travail. La fréquence d'utilisation des canaux dépend de l'architecture de l'application et des tâches.

Généralement, les canaux sont utilisés :

  • Lorsqu'il est nécessaire de transférer des données entre tâches parallèles sans utiliser de variables communes.
  • Pour organiser des files d'attente de tâches.
  • Pour synchroniser la fin des goroutines.

Exemple d'utilisation d'un canal :

package main

import (
    "fmt"
)

func worker(ch chan string) {
    msg := <-ch
    fmt.Println("Message reçu :", msg)
}

func main() {
    ch := make(chan string)
    go worker(ch)
    ch <- "Bonjour du main"
}

Ainsi, les canaux sont la méthode standard et recommandée pour la communication entre goroutines, et ils doivent être utilisés chaque fois qu'il est nécessaire d'échanger des données ou de synchroniser l'exécution.