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.
Strings, bytes e runes
Nesta aula, exploramos como Go lida com strings, bytes e runes, enfatizando a codificação UTF-8. Aprendemos a iterar sobre strings com range, usar o pacote strings para manipulação e o pacote strconv para conversões.
LidoA interface Stringer e fmt
Nesta aula, exploramos a interface Stringer do pacote fmt, que permite controlar a representação textual de tipos personalizados. Aprendemos sobre os verbos de formatação, como implementar o método String() e como usar a interface para debug.
LidoEmbedding (composição)
Esta aula aborda embedding (composição) em Go, um mecanismo que permite reutilizar campos e métodos de tipos aninhados. Serão explorados embedding de structs, embedding de interfaces, promoção de métodos e a diferença entre composição e herança.
LidoInterfaces avançado
Esta aula aprofunda o uso de interfaces em Go, abordando type assertions, type switches, composição de interfaces e boas práticas. Você aprenderá a verificar tipos dinamicamente, combinar interfaces e escrever código mais flexível e seguro.
LidoInterfaces
Esta aula aborda interfaces em Go, incluindo definição, implementação implícita, interface vazia (any) e polimorfismo. Você aprenderá como as interfaces permitem escrever código flexível e reutilizável, com exemplos práticos e exercícios.
LidoErros avançado
Nesta aula avançada sobre erros em Go, exploramos o wrapping de erros com %w, as funções errors.Is e errors.As para comparação e desempacotamento, a criação de erros customizados com structs, e o padrão de erros sentinela. Com exemplos práticos, você aprenderá a construir e gerenciar hierarquias de erros de forma robusta.
LidoTratamento de erros
Nesta aula, exploramos o tratamento de erros em Go, que é explícito e baseado no tipo error. Aprendemos a usar a verificação if err != nil, criar erros com errors.New e fmt.Errorf, e seguir as práticas idiomáticas da linguagem.
LidoGoroutines
Esta aula apresenta as goroutines, a unidade fundamental de concorrência leve em Go. Você aprenderá como criar goroutines com a palavra-chave 'go', entenderá como elas se comparam a threads do sistema operacional e explorará seu ciclo de vida, incluindo sincronização básica com WaitGroups.
Lido