Avatar ·

Como ler um arquivo linha por linha em Go: guia passo a passo

Olá a todos! Sou um desenvolvedor Go iniciante e tive um problema com a leitura de um arquivo de texto linha por linha. Preciso processar um grande arquivo de log (cerca de 500 MB), onde cada linha é um registro separado.\n\nO problema é que não quero carregar o arquivo inteiro na memória de uma vez, pois ele é muito grande. Tentei usar `ioutil.ReadFile()`, mas isso carrega todo o conteúdo na memória, e o programa começa a ficar lento. Além disso, se o arquivo for ainda maior, isso pode levar ao esgotamento da memória.\n\nAqui está o que tentei:\n\n```go\npackage main\n\nimport (\n "fmt"\n "io/ioutil"\n "strings"\n)\n\nfunc main() {\n data, err := ioutil.ReadFile("large_log.txt")\n if err != nil {\n fmt.Println("Erro:", err)\n return\n }\n lines := strings.Split(string(data), "")