Introduction
Dans ce défi, vous allez concevoir un programme en Go illustrant la puissance des canaux (channels) en construisant un pipeline de traitement de données rudimentaire qui transfère des entiers entre goroutines. Votre mission consiste à créer un canal tamponné, à y injecter les nombres de 1 à 5, puis à lire et afficher chaque nombre depuis le canal dans leur ordre d'insertion.
Construire un pipeline de données simple avec les canaux
Dans ce défi, vous allez créer un programme Go qui démontre l'efficacité des canaux en mettant en place un pipeline de données simple transférant des entiers.
Tâches
- Créer un canal tamponné (buffered channel) d'entiers avec une capacité de 5.
- Écrire les nombres 1, 2, 3, 4 et 5 dans le canal.
- Lire et afficher chaque nombre du canal dans l'ordre où ils ont été écrits.
Exigences
- Utilisez le fichier
~/project/data_pipeline.go. - Créez un canal tamponné en utilisant
make(chan int, 5). - Utilisez l'opérateur d'envoi
<-pour écrire les nombres dans le canal. - Utilisez l'opérateur de réception
<-pour lire les nombres depuis le canal. - Affichez chaque nombre à l'aide de
fmt.Println(). - Assurez-vous que tous les nombres sont intégralement écrits et lus.
Exemples
Exécution du programme :
go run data_pipeline.go
Sortie attendue :
1
2
3
4
5
Conseils
- N'oubliez pas d'utiliser
ch <- valuepour envoyer des valeurs vers le canal. - Utilisez
value := <-chpour recevoir des valeurs du canal. - Les canaux tamponnés permettent d'envoyer plusieurs valeurs avant de devenir bloquants.
- Fermez le canal après avoir écrit toutes les valeurs si nécessaire.
Résumé
En résumé, ce défi vous a demandé de concevoir un programme Go exploitant les canaux pour bâtir un pipeline de traitement de données élémentaire. Vous avez appris à initialiser un canal tamponné, à y stocker une série de nombres et à les extraire pour un affichage ordonné.



