Avatar ·

Comment convertir une slice de bytes ([]byte) en io.Reader en Go ?

Bonjour à tous ! Je suis débutant en Go et j'ai rencontré un problème en travaillant avec des flux de données. J'ai une fonction qui accepte io.Reader pour lire des données, par exemple depuis un fichier ou une réponse HTTP. Mais dans mon cas, les données sont déjà en mémoire sous forme d'une slice de bytes ([]byte), obtenue après décompression d'une archive ou traitement de JSON.

\n\n

Voici un exemple simplifié de ce que j'essaie de faire :

\n\n
package main\n\nimport (\n    "fmt"\n    "io"\n    "os"\n)\n\nfunc main() {\n    data := []byte("Hello, World! Ce sont des données de test en mémoire")\n\n    // Comment passer data à une fonction qui attend io.Reader ?\n    // J'ai essayé de passer data directement, mais j'obtiens une erreur de compilation :\n    // cannot use data (type []byte) as type io.Reader in argument to processData\n    processData(d