¿Cómo leer un archivo completo en una variable string en Go?
¡Hola! Acabo de empezar a aprender Go y me encontré con una tarea aparentemente simple: necesito leer el contenido de un archivo de texto completo en una variable de tipo `string`. En otros lenguajes esto se hace con una sola función, pero en Go me confundí.
Lo intenté así:
```go
package main
import (
"fmt"
"os"
)
func main() {
file, err := os.Open("data.txt")
if err != nil {
fmt.Println("Error al abrir:", err)
return
}
// ¿Y luego qué? ¿Cómo obtengo el string?
file.Close()
}
```
Vi que existe el package `ioutil`, pero en las últimas versiones de Go parece estar deprecated. Intenté leer con `bufio` — solo obtuve una línea. También probé `os.ReadFile`, pero no estoy seguro de que sea lo correcto.
Indíquenme cómo leer correctamente y de manera idiomática un archivo completo en un string en Go moderno (1.16+). Quiero entender la diferencia entre `ioutil.ReadFile`, `os.ReadFile` y `bufio`. Es importante que la solución sea simple y confiable, sin movimientos innecesarios. ¡Gracias de antemano!