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

Pacotes strings e bytes

Nesta aula, exploramos em profundidade os pacotes strings e bytes da linguagem Go, cobrindo desde funções básicas de manipulação de strings até o uso de strings.Builder e bytes.Buffer para construção eficiente de dados. Também discutimos questões de performance e boas práticas para evitar alocações desnecessárias.

✓ Lido
Go

Expressões regulares (regexp)

Nesta aula, você aprenderá a trabalhar com expressões regulares em Go usando o pacote regexp. Vamos cobrir desde a compilação de padrões até operações de busca, substituição e captura de grupos, além de discutir boas práticas de performance para uso eficiente em aplicações reais.

✓ Lido
Go

Genéricos avançado

Esta aula avança no estudo de genéricos em Go, abordando constraints customizadas, o operador comparable, a inferência de tipos e as limitações da implementação atual. Você aprenderá a criar funções e tipos genéricos reutilizáveis, entenderá quando usar restrições específicas e conhecerá as restrições impostas pela linguagem.

✓ Lido
Go

Ordenação (sort)

Nesta aula, você vai dominar a ordenação em Go: desde a função sort.Slice para ordenar fatias de forma simples, até a implementação da interface sort.Interface para controle total. Também veremos como usar sort.Search para buscas eficientes e entenderemos a diferença entre ordenação estável e instável, com exemplos práticos e exercícios.

✓ Lido
Go

panic, recover e defer

Esta aula aborda os mecanismos de controle de fluxo e tratamento de erros em Go: defer para adiar execuções, panic para interromper o fluxo em condições excepcionais e recover para retomar o controle. Você aprenderá a ordem de execução dos defers, como usar panic e recover corretamente e quando evitá-los, com exemplos práticos e boas práticas.

✓ Lido
Go

Iteradores (range over func)

Nesta aula, exploramos a nova funcionalidade de iteradores em Go, introduzida na versão 1.23. Aprendemos como usar a cláusula range sobre funções que implementam o protocolo de iteração, os casos de uso mais comuns e vimos exemplos práticos de implementação.

✓ Lido
Go

Testes em Go

Nesta aula, você aprenderá a escrever testes em Go usando o pacote testing, a convenção func TestXxx, o comando go test e a técnica de table-driven tests, com exemplos práticos e boas práticas para criar testes eficientes e legíveis.

✓ Lido
Go

Testes avançado

Nesta aula, você aprenderá técnicas avançadas de testes em Go, incluindo subtests para organizar e executar testes em subgrupos, setup/teardown para preparar e limpar recursos, helpers para reutilizar lógica de teste e medição de cobertura de código. O conteúdo é prático, com exemplos de código e exercícios para fixação.

✓ Lido
Go

Benchmarks

Nesta aula, você aprenderá a escrever e executar benchmarks em Go usando o pacote de testes padrão. Vamos explorar a função BenchmarkXxx, o contador b.N, a medição de alocações e como comparar desempenho entre implementações, com exemplos práticos e boas práticas.

✓ Lido
Go

Servidor HTTP (net/http)

Nesta aula, você aprenderá a criar servidores HTTP em Go usando o pacote net/http. Vamos explorar os conceitos de handlers, ServeMux e como iniciar o servidor, com exemplos práticos e exercícios para fixar o conteúdo.

✓ Lido