Pular para o conteúdo principal
Publicado em

Arquivos (Ler) em Go

Compartilhar:

Introdução

A leitura de arquivos é uma das operações mais comuns em programação. Seja para configurações, dados persistentes ou para processamento, ler arquivos é fundamental. Go, com sua abordagem prática e eficiente, fornece várias bibliotecas e funções para facilitar essa tarefa.

Ler Todo o Arquivo

Uma das maneiras mais simples de ler um arquivo em Go é usar a função ioutil.ReadFile.

import (
  "fmt"
  "io/ioutil"
)

func main() {
  conteudo, erro := ioutil.ReadFile("exemplo.txt")

  if erro != nil {
    fmt.Println("Erro:", erro)
    return
  }

  fmt.Println(string(conteudo))
}

Leitura com o Pacote "os"

Para ter um controle mais granular sobre a leitura, podemos usar o pacote os:

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

func main() {
  arquivo, erro := os.Open("exemplo.txt")

  if erro != nil {
    fmt.Println("Erro:", erro)
    return
  }

  defer arquivo.Close()

  scanner := bufio.NewScanner(arquivo)

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

  if erro := scanner.Err(); erro != nil {
    fmt.Println("Erro de leitura:", erro)
  }
}

Ler Linha por Linha

Para arquivos grandes, ler linha por linha pode ser mais eficiente:

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

func lerArquivoLinhaALinha(nomeArquivo string) error {
  arquivo, erro := os.Open(nomeArquivo)

  if erro != nil {
    return erro
  }

  defer arquivo.Close()

  scanner := bufio.NewScanner(arquivo)

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

  return scanner.Err()
}

Conclusão

Ler arquivos em Go é uma tarefa intuitiva graças à abordagem modular da linguagem e às bibliotecas fornecidas. Independentemente da complexidade da sua necessidade, Go tem as ferramentas para ajudá-lo a trabalhar com arquivos de forma eficaz.

Happy coding!