Erstellung einer einfachen Channel-Datenpipeline

GolangBeginner
Jetzt üben

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 <- value zu 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.
✨ Lösung prüfen und üben

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.