Avatar ·

Cómo leer un archivo línea por línea en Go: guía paso a paso

¡Hola a todos! Acabo de empezar a aprender Go y me encontré con una tarea que parece simple, pero por alguna razón me está causando dificultades. Necesito leer un archivo de texto línea por línea. El archivo puede ser bastante grande (varios cientos de megabytes), por lo que quiero evitar cargar todo el contenido en memoria. Esto es lo que he probado: ```go package main import ( "fmt" "os" ) func main() { data, err := os.ReadFile("file.txt") if err != nil { panic(err) } lines := strings.Split(string(data), "\n") for _, line := range lines { fmt.Println(line) } } ``` Pero este código carga todo el archivo en memoria, lo que no es eficiente para archivos grandes. Además, he oído que en Go hay un scanner especial para lectura línea por línea, pero no puedo entender cómo usarlo correctamente. Por favor, indíquenme cómo leer correctamente un archivo línea por línea en Go, de manera que sea eficiente en memoria y tiempo. Necesito procesar cada línea por separado, posiblemente