Avatar ·

Wie konvertiere ich ein Byte-Slice ([]byte) in einen io.Reader in Go?

Hallo zusammen! Ich bin neu in Go und habe ein Problem bei der Arbeit mit Datenströmen. Ich habe eine Funktion, die io.Reader zum Lesen von Daten akzeptiert, z. B. aus einer Datei oder einer HTTP-Antwort. In meinem Fall befinden sich die Daten jedoch bereits im Speicher als Byte-Slice ([]byte), das nach dem Entpacken eines Archivs oder der Verarbeitung von JSON erhalten wurde.

\n\n

Hier ist ein vereinfachtes Beispiel dessen, was ich versuche zu tun:

\n\n
package main\n\nimport (\n    "fmt"\n    "io"\n    "os"\n)\n\nfunc main() {\n    data := []byte("Hello, World! Dies sind Testdaten im Speicher")\n\n    // Wie übergebe ich data an eine Funktion, die io.Reader erwartet?\n    // Ich habe versucht, data einfach zu übergeben, erhalte aber einen Kompilierungsfehler:\n    // cannot use data (type []byte) as type io.Reader in argument to processData\n    processData(d