Avatar ·

Cómo convertir un slice de bytes ([]byte) a io.Reader en Golang?

¡Hola a todos! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con flujos de datos. Tengo una función que acepta la interfaz `io.Reader`, pero estoy trabajando con datos que ya están en memoria como un slice de bytes (`[]byte`). Aquí hay un ejemplo simplificado. Supongamos que obtengo datos de una solicitud HTTP o leo un archivo, pero por alguna razón ya tengo `[]byte`: ```go package main import ( "fmt" "io" "log" ) func processData(r io.Reader) { data, err := io.ReadAll(r) if err != nil { log.Fatal(err) } fmt.Println("Recibido:", string(data)) } func main() { myBytes := []byte("Hello, World! Esto son datos de prueba.") // ¿Cómo pasar myBytes a processData? // processData(myBytes) // ¡Error de compilación! } ``` Entiendo que `io.Reader` es una interfaz, y para implementarla necesito tener un método `Read(p []byte) (n int, err error)`. Pero, ¿realmente necesito escribir mi propia estructura e implementar este método cada vez?