Categoria: Go

Go nasceu no Google para escrever software de servidor que compila rápido e escala bem. Aposta na simplicidade — poucas palavras-chave, biblioteca padrão robusta e concorrência nativa por goroutines e canais — e entrega um binário único, sem dependências, o que a tornou padrão em ferramentas de infraestrutura como Docker e Kubernetes. A documentação oficial fica em go.dev.

Go

Go Modules

Nesta aula, você aprenderá sobre o sistema de módulos do Go, incluindo a estrutura dos arquivos go.mod e go.sum, o comando go get, versionamento semântico e gerenciamento de dependências. Serão apresentados exemplos práticos e boas práticas para trabalhar com módulos em Go.

✓ Lido
Go

Pacotes

Esta aula explica o sistema de pacotes em Go, cobrindo a declaração de pacotes, regras de visibilidade baseadas em letras maiúsculas/minúsculas, a sintaxe de importação e a organização de código em múltiplos arquivos e diretórios.

✓ Lido
Go

O pacote fmt

Esta aula explora o pacote fmt em Go, cobrindo funções de saída como Print, Printf e Sprintf, os verbos de formatação, funções de entrada como Scan, e boas práticas para uso eficiente e seguro. O conteúdo inclui exemplos práticos e exercícios com respostas.

✓ Lido
Go

init e ordem de inicialização

Esta aula explica a função especial init em Go, sua ordem de execução, a inicialização de variáveis de pacote e os cuidados necessários ao usar esse recurso. Com exemplos práticos, o aluno aprenderá como o runtime do Go gerencia a inicialização de pacotes e como evitar armadilhas comuns.

✓ Lido
Go

Os pacotes io e bufio

Esta aula aborda os pacotes io e bufio da biblioteca padrão de Go, que fornecem interfaces e funcionalidades para operações de entrada e saída. Você aprenderá sobre os fundamentos Reader e Writer, a função io.Copy, o buffering com bufio e a composição de interfaces para criar fluxos de dados flexíveis.

✓ Lido
Go

Trabalhando com arquivos (os)

Esta aula aborda a manipulação de arquivos em Go utilizando o pacote os, incluindo abertura, leitura, escrita, definição de permissões e tratamento de erros. Você aprenderá a trabalhar com arquivos de forma prática, com exemplos de código e boas práticas.

✓ Lido
Go

O pacote time

Nesta aula, exploramos o pacote time da linguagem Go, essencial para manipulação de datas, horas e durações. Aprendemos sobre os tipos Time e Duration, a peculiar formatação baseada no layout de referência, o uso de timers e tickers para temporização, e o trabalho com fusos horários. O conteúdo inclui exemplos práticos, boas práticas e exercícios para consolidar o aprendizado.

✓ Lido
Go

panic, recover e defer

Esta aula aprofunda os mecanismos de controle de fluxo e gerenciamento de erros em Go: defer, panic e recover. Você aprenderá a usar defer para adiar execuções, a lidar com pânicos e a recuperá-los de forma segura, além de entender quando essas práticas são recomendadas.

✓ Lido
Go

Encoding JSON

Nesta aula, você aprenderá a codificar e decodificar dados JSON em Go usando os pacotes padrão encoding/json. Exploraremos as funções Marshal e Unmarshal, o uso de tags de struct para controlar a serialização, campos opcionais e a diretiva omitempty. O conteúdo inclui exemplos práticos, boas práticas e exercícios para consolidar o conhecimento.

✓ Lido
Go

Estrutura de projetos

Esta aula aborda a estrutura de projetos em Go, seguindo as convenções idiomáticas da comunidade. Você aprenderá sobre o layout padrão com pastas como cmd/ e internal/, além de boas práticas para organizar código de forma clara, testável e escalável.

✓ Lido
Go

Pacotes strings e bytes

Esta aula explora os pacotes strings e bytes de Go, fundamentais para manipulação eficiente de texto e dados binários. Você aprenderá funções essenciais de strings, o uso de strings.Builder para concatenação otimizada, bytes.Buffer para processamento de dados e boas práticas de performance.

✓ Lido
Go

Ordenação (sort)

Esta aula aborda a ordenação em Go, explorando desde a função sort.Slice para ordenações rápidas até interfaces de ordenação para controle total, além de busca binária e a diferença entre algoritmos estáveis e instáveis.

✓ Lido
Go

Expressões regulares (regexp)

Esta aula explora o pacote regexp em Go, cobrindo compilação de padrões, funções de busca e substituição, grupos de captura e considerações de performance. Inclui exemplos práticos, exercícios com respostas e referências oficiais.

✓ Lido
Go

Genéricos avançado

Esta aula aprofunda o uso de genéricos em Go, abordando constraints customizadas, a interface comparable, inferência de tipos e as limitações da implementação atual. Você aprenderá a criar funções e tipos genéricos flexíveis e reutilizáveis, com exemplos práticos e exercícios para fixar o conteúdo.

✓ Lido
Go

Iteradores (range over func)

Nesta aula, exploramos a nova funcionalidade de iteradores em Go, introduzida na versão 1.23, que permite usar a sintaxe range sobre funções personalizadas. Aprendemos a criar funções iteradoras seguindo o padrão func(yield func(K,V) bool), a usá-las com range e a aplicá-las em casos práticos como iteração sobre estruturas de dados personalizadas, geração de sequências e processamento de dados sob demanda.

✓ Lido