Leer archivo de texto en Go

Leer archivo de texto en Go, es fácil con la ayuda de Scanner del paquete bufio que además nos permitirá hacer una lectura eficiente, así que debes asegurarte de importar el paquete correctamente.

» Más ejemplos de Go

Scanner te permitirá leer un archivo separando el texto por tokens, usando por default los saltos de línea para determinar esta separación.

package main

import (
	"bufio"
	"fmt"
	"log"
	"os"
)

func main() {
	file, err := os.Open( "/home/decodigo/go/archivos/archivo_ejemplo.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	scanner := bufio.NewScanner(file)

	for scanner.Scan() {
		fmt.Println(scanner.Text())
		fmt.Println(scanner.Bytes())
	}
}

Nuestro archivo de texto en este ejemplo es muy sencillo y desde luego, en tu ejemplo puedes crear y usar el archivo con la ruta y contenido que tu desees. Nuestro archivo contiene la siguientes cinco líneas:

Ejemplo de Go para leer archivo de texto


Al ejecutar el ejemplo obtenemos el siguiente resultado en consola, debes notar que ejecutamos este ejemplo en la terminal dentro de Visual Studio Code, pero lo puedes hacer del mismo modo en la terminal del sistema operativo:

Ejemplo de Go para leer archivo de texto, ejecución en consola.

Como puedes ver, con la ayuda de scanner podemos leer e imprimir en consola el contenido como texto o como arreglo de bytes. Previamente hacemos validación sobre la apertura del archivo antes de obtener el contenido. Así que leer archivo de texto en Go no es tan complicado.

El resultado es la impresión de cada línea de nuestro texto y su equivalente en bytes.

Nota: Los ejemplos de Go se editan en Visual Studio Code sobre Ubuntu.

Mas acerca de Scanner https://pkg.go.dev/text/scanner