- Autor
- Nome
- Nelson Silva
- Social
Introdução
A manipulação de ficheiros é um dos pilares da programação. Seja para registar dados, ler configurações ou guardar logs, é fundamental saber como interagir com ficheiros. Go, com sua vasta biblioteca padrão, fornece inúmeras ferramentas para lidar com essa necessidade.
- Criação e Abertura de Ficheiros
- Escrevendo no Ficheiro
- Tratamento de Erros
- Permissões de Ficheiros
- Anexar a Ficheiros
- Usando o pacote bufio
Criação e Abertura de Ficheiros
Antes de poder escrever num ficheiro, temos que criar ou abrir um. A função os.Create
é perfeita para este propósito.
package main
import (
"fmt"
"os"
)
func main() {
ficheiro, err := os.Create("meuFicheiro.txt")
if err != nil {
fmt.Println("Erro ao criar o ficheiro:", err)
return
}
defer ficheiro.Close()
}
O uso de defer
assegura que, após a execução do programa, o ficheiro seja fechado, prevenindo vazamentos de memória.
Escrevendo no Ficheiro
Com o ficheiro disponível, é possível utilizar o método WriteString
para escrever no mesmo.
texto := "Olá, mundo!"
_, err = ficheiro.WriteString(texto)
if err != nil {
fmt.Println("Erro ao escrever no ficheiro:", err)
return
}
Tratamento de Erros
É crucial tratar erros ao trabalhar com I/O de ficheiros. Ignorar erros pode resultar em ficheiros corrompidos ou perda de dados.
if err != nil {
log.Fatalf("Falhou escrevendo para o ficheiro: %s", err)
}
Permissões de Ficheiros
Ao criar um ficheiro, Go atribui permissões padrão. No entanto, pode ser necessário ajustar estas permissões.
ficheiro.Chmod(0644)
Anexar a Ficheiros
Em vez de sobrescrever um ficheiro, pode ser útil anexar dados ao seu final.
ficheiro, err = os.OpenFile("meuFicheiro.txt", os.O_APPEND|os.O_WRONLY, 0644)
bufio
Usando o pacote Para operações mais avançadas, bufio
é a escolha certa. Proporciona uma interface buffered, otimizando a escrita.
import (
"bufio"
)
escritor := bufio.NewWriter(ficheiro)
_, err = escritor.WriteString("Usando bufio para escrever de forma mais eficiente.")
escritor.Flush()
Conclusão
A habilidade de escrever em ficheiros é essencial para muitas tarefas em Go. Com suas bibliotecas ricas e abrangentes, Go simplifica e otimiza este processo, garantindo que os desenvolvedores possam focar na lógica do aplicativo, em vez de detalhes de I/O.