Avatar ·

Como ler um arquivo inteiro em uma variável string em Go

Olá a todos! Comecei a estudar Go recentemente e me deparei com uma tarefa simples, à primeira vista — ler o conteúdo de um arquivo de texto em uma variável string. Em outras linguagens (por exemplo, Python), isso é feito em uma linha, mas em Go fiquei confuso. Tenho um arquivo `data.txt` que está junto com o arquivo executável. Quero obter seu conteúdo como `string`. Aqui está o que tentei: ```go package main import ( "fmt" "os" ) func main() { file, err := os.Open("data.txt") if err != nil { fmt.Println(err) return } // E agora? Como ler todo o conteúdo? } ``` Vejo que `os.Open` retorna um `*os.File`, mas não entendo como obter uma string a partir dele. Tentei ler byte a byte com `file.Read(buf)`, mas é necessário saber o tamanho do buffer antecipadamente, e o arquivo pode ser grande. Também ouvi falar do pacote `bufio`, mas não tenho certeza se ele resolve completamente meu problema. Por favor, me digam como ler corretamente e eficientemente todo o arquivo em uma string? Prefer