Cómo leer un archivo completo en una variable string en Go
¡Hola a todos! Acabo de empezar a aprender Go y me encontré con una tarea simple, a primera vista: leer el contenido de un archivo de texto en una variable string. En otros lenguajes (por ejemplo, Python) esto se hace en una línea, pero en Go me confundí.
Tengo un archivo `data.txt` que está junto al archivo ejecutable. Quiero obtener su contenido como `string`. Esto es lo que probé:
```go
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("data.txt")
if err != nil {
fmt.Println(err)
return
}
// ¿Y ahora qué? ¿Cómo leo todo el contenido?
}
```
Veo que `os.Open` devuelve un `*os.File`, pero no entiendo cómo obtener un string a partir de él. Intenté leer byte a byte con `file.Read(buf)`, pero necesito saber el tamaño del buffer de antemano, y el archivo podría ser grande.
También he oído hablar del package `bufio`, pero no estoy seguro de que resuelva mi problema por completo. Por favor, indíquenme cómo leer correcta y eficientemente todo el archivo en un string. Preferiblemente