Aula 07 - Manipulação de Arquivos e JSON 📁
Persistindo Dados e Comunicando-se com o Mundo
Agenda de Hoje 📅
- O Pacote
ose o Sistema de Arquivos - Leitura e Escrita de Arquivos
- Permissões de Acesso (Chmod)
- Serialização com JSON
- Struct Tags e Mapeamento
- Mini-Projeto: CLI To-Do com JSON
1. Falando com o SO 🖥️
- Go é excelente para ferramentas de linha de comando.
- Pacote
osabstrai a diferença entre Windows/Linux.
2. Escrita Simplificada ✍️
- 0644: Permissão de leitura/escrita padrão.
3. JSON: A Língua do Backend 🏗️
- Go possui suporte nativo via
encoding/json. - Marshal: Struct -> JSON.
- Unmarshal: JSON -> Struct.
4. O Poder das Struct Tags 🏷️
- Permite renomear chaves no JSON.
5. Fluxo de Dados JSON 📊
graph LR
A[Struct em Memória] -->|json.Marshal| B[Slice de Bytes]
B -->|os.WriteFile| C[(Arquivo config.json)]
C -->|os.ReadFile| B
B -->|json.Unmarshal| A
6. Mini-Projeto: To-Do List CLI 🚀
- Uma struct
Tarefa(ID, Texto, Status). - Salvar um slice de tarefas em
tarefas.json. - Ler e exibir ao abrir o programa.
Resumo da Aula ✅
- Go trata arquivos de forma binária (
[]byte). - JSON é mapeado diretamente para structs via Tags.
- Defer é vital para liberar o arquivo após o uso.
Próxima Aula: Concorrência ⚡
- Goroutines: Rodando em paralelo.
- Channels: A comunicação segura.
Dúvidas? 🤔
"Dados são o novo petróleo, mas o JSON é o oleoduto."