- Visão Geral do Curso
- Baixando a Apostila
- Links: Apostila & Repositório
- Go: História e Características
- Windows e Mac
- Linux
- Ambiente GO: GOROOT & GOPATH
- Atualização da execução do GO
- Primeiro Programa em Go
- Explorando os Comandos do Terminal
- Constantes e Variáveis
- Imprimindo Valores no Console
- Tipos Básicos
- Tipos Básicos: Os Zeros
- Conversão entre Tipos Básicos
- Funções Básicas
- Operadores Aritméticos
- Operadores de Atribuição
- Operadores Relacionais
- Operadores Lógicos
- Operadores Unários
- Operador Ternário???
- Ponteiros em Go
- If/Else
- If/Else If
- If com Init
- Laço For
- Switch #01
- Switch #02
- Resposta do Desafio Switch
- Switch #03
- Trabalhando com Arrays
- Percorrendo Arrays com For (Range)
- Conhecendo o Slice
- Construindo Slices com Make
- Usando Mesmo Array Interno
- Slice: Usando Append e Copy
- Trabalhando com Maps #01
- Trabalhando com Maps #02
- Maps Aninhados
- Funções Básicas
- Pilha de Funções
- Retorno Nomeado
- Armazenar Funções em Variáveis
- Passar Função como Parâmetro
- Funções Variáticas #01
- Funções Variáticas #02
- Closure
- Recursividade
- Recursividade (Simples)
- Defer
- Passando Ponteiro para Função
- Função Init
- Usando Struct
- Struct Aninhada
- Métodos em Structs
- Pseudo-Herança em Structs
- Tipo Personalizado
- Usando Interfaces #01
- Usando Interfaces #02
- Composição de Interfaces
- Tipo Interface
- Convertendo uma Struct em JSON
- Executando Múltiplos Arquivos no Windows
- Pacotes & Visibilidade
- Criando um Pacote Reutilizável
- Criando & Instalando um Pacote do Github
- Concorrência vs Paralelismo
- Curiosidade: Número de CPUs
- Conhecendo a Goroutine
- Conhecendo o Channel (Canal)
- Usando Goroutine e Channel
- Cuidado com os Deadlocks
- Channel com Buffer
- Channel: Usando Range e Close
- Padrão de Concorrência: Generators
- Criando um Pacote Reutilizável
- Padrão de Concorrência: Multiplexador
- Estrutura de Controle: Select
- Multiplexador com Select
- Teste Unitário Básico
- Criando Dataset para os Testes
- Tipo de Arquitetura e os Testes
- Gerando Relatório de Cobertura de Testes
- Orientações para Instalação do MySQL
- Criando o Schema e a Tabela
- Executando Inserts
- Executando Inserts em uma Transação
- Executando Update e Delete