Einführung
In dieser Herausforderung erstellen Sie ein Go-Programm, das die Leistungsfähigkeit von Channels demonstriert. Dabei bauen Sie eine einfache Datenverarbeitungspipeline auf, die Ganzzahlen zwischen Goroutinen überträgt. Ihre Aufgabe ist es, einen gepufferten Channel zu erstellen, die Zahlen 1 bis 5 in diesen Channel zu schreiben und anschließend jede Zahl in der Reihenfolge ihres Eingangs wieder auszulesen und auszugeben.
Erstellung einer einfachen Channel-Datenpipeline
In dieser Herausforderung entwickeln Sie ein Go-Programm, das die Funktionsweise von Channels verdeutlicht, indem eine einfache Pipeline zum Datentransfer zwischen Goroutinen implementiert wird.
Aufgaben
- Erstellen Sie einen gepufferten Channel für Ganzzahlen (
int) mit einer Kapazität von 5. - Schreiben Sie die Zahlen 1, 2, 3, 4 und 5 in den Channel.
- Lesen Sie jede Zahl aus dem Channel aus und geben Sie diese in der ursprünglichen Reihenfolge aus.
Anforderungen
- Verwenden Sie die Datei
~/project/data_pipeline.go. - Erzeugen Sie den gepufferten Channel mit
make(chan int, 5). - Nutzen Sie den Sende-Operator
<-, um Daten in den Channel zu schreiben. - Nutzen Sie den Empfangs-Operator
<-, um Daten aus dem Channel zu lesen. - Geben Sie jede Zahl mit
fmt.Println()aus. - Stellen Sie sicher, dass alle Zahlen vollständig geschrieben und gelesen werden.
Beispiele
Programm ausführen:
go run data_pipeline.go
Erwartete Ausgabe:
1
2
3
4
5
Hinweise
- Denken Sie daran,
ch <- valuezu verwenden, um Werte an den Channel zu senden. - Verwenden Sie
value := <-ch, um Werte vom Channel zu empfangen. - Gepufferte Channels ermöglichen das Senden mehrerer Werte, bevor der Prozess blockiert.
- Schließen Sie den Channel nach dem Schreiben aller Werte, falls erforderlich.
Zusammenfassung
Zusammenfassend lässt sich sagen, dass diese Herausforderung von Ihnen verlangt hat, ein Go-Programm zu erstellen, das Channels zur Implementierung einer einfachen Datenpipeline nutzt. Sie haben gelernt, einen gepufferten Channel zu initialisieren, Daten hineinzuschreiben und diese in der richtigen Reihenfolge wieder auszulesen und anzuzeigen.



