Ícone do app Aprender Go: Curso Code

Aprender Go: Curso Code

Educação · Grátis · iOS & Android · CoddyKit

Aprender Go: Curso Code — Um tutorial de Golang com compilador, race detector e katas diários no seu celular

Aprender Go: Curso Code é um tutorial de Golang gratuito para iOS e Android, voltado para iniciantes e desenvolvedores profissionais, com compilador e editor de Go que executam seu código em uma toolchain real de Go (é necessário ter conexão com a internet). Verifique seu código com gofmt, go vet e o race detector e percorra 51 cursos, desde o primeiro fmt.Println até goroutines, APIs REST e gRPC, com a ajuda de um AI Mentor para as partes que não ficarem claras.

App Store — Baixe grátisGoogle Play — Baixe grátis
Preço
Grátis, upgrade para Pro
Plataformas
iOS e Android
Idiomas
22
Classificação etária
4+
Requisitos
iOS 15.1 ou posterior
Tela inicial da trilha de aprendizado de Go, com um botão para começar a primeira lição, um anel de meta diária e um cartão para solicitar recursosVisão geral do curso Go Kickoff: Conceitos e Configuração, com uma barra de progresso, um primeiro grupo de lições gratuitas e um botão para mudar de curso
51Cursos, de A1 a C1
-raceLaboratório de Concorrência com o race detector
DiárioUm novo kata todos os dias
Apague a palavra-chave go e veja o mesmo trabalho levar três vezes mais tempo.

Essa é a primeira coisa que o app faz você fazer com Go: executar três tarefas de 120 ms cada, ver o total ficar bem abaixo de 360 ms e, então, remover a única palavra-chave que as tornou concorrentes. A proposta inteira da linguagem está nessa palavra, e o app permite que você sinta isso antes de explicar.

O que é

Aprender Go: Curso Code é um app gratuito para iOS e Android para aprender Go, a linguagem compilada por trás de grande parte dos softwares atuais de nuvem e servidores. Ele oferece 51 cursos e 203 lições classificadas do nível iniciante ao avançado, um editor de código que executa programas em uma toolchain real de Go, um kata diário, um Laboratório de Concorrência com um race detector real e uma trilha guiada na qual você cria seu próprio núcleo HTTP. Um AI Mentor responde a perguntas sobre qualquer lição.

Dentro do app

Como ele é

Tela inicial da trilha de aprendizado de Go, com um botão para começar a primeira lição, um anel de meta diária e um cartão para solicitar recursos
Trilha de aprendizadoA tela inicial é aberta na trilha de aprendizado, com um botão para começar, uma meta diária e um link para o Skill Hub.
Visão geral do curso Go Kickoff: Conceitos e Configuração, com uma barra de progresso, um primeiro grupo de lições gratuitas e um botão para mudar de curso
Visão geral do cursoO primeiro curso, Go Kickoff: Conceitos e Configuração, é marcado como gratuito e dividido em três lições curtas.
Editor de código exibindo um programa em Go com package main, import fmt e chamadas fmt.Println ao lado de uma lição sobre o primeiro programa
Editor de códigoUma lição chamada Seu Primeiro Programa, com o editor de código aberto em um arquivo package main e um botão de execução.
Tela de chat com IA e sugestões para explicar conceitos importantes, dar dicas, fazer um quiz e criar um plano de aprendizado
Mentor de IAQuatro sugestões iniciam o chat: explicar os conceitos importantes, dar dicas, fazer um quiz ou criar um plano.
Tela inicial no tema claro, com a trilha de aprendizado, uma meta diária e o Skill Hub
Tela inicialA mesma tela inicial no tema claro, com a meta diária e o Skill Hub abaixo do curso ativo.

O curso

O que o curso de Go aborda

51 cursos e 203 lições da própria lista de cursos do app, classificados de A1 a C1 e indo do primeiro programa até profiling e o garbage collector.

  1. Boas-vindas ao Go e fundamentos

    O que é Go e por que o Google o criou; depois, variáveis, tipos e valores zero, constantes e fluxo de controle com if, for e switch.

  2. Funções, Slices e Maps

    Funções com vários valores de retorno, defer e parâmetros variádicos, arrays, slices e maps, além de strings, formatação com fmt e o pacote time.

  3. Structs, Pointers e Interfaces

    Structs e métodos, receptores por valor versus por ponteiro, pointers, interfaces implícitas e duck typing, além de embedding para composição.

  4. Erros, Pacotes e a Biblioteca Padrão

    Tratamento explícito de erros com errors.Is e errors.As, pacotes e módulos, entrada e saída de arquivos e JSON, expressões regulares, ordenação e I/O com buffer.

  5. Goroutines, Channels e Sync

    Fundamentos de goroutines e channels, select e padrões de channels, mutexes e o pacote sync, context para cancelamento, além de pools de workers e pipelines.

  6. HTTP, REST e Bancos de Dados

    Servidores e clientes HTTP com net/http, APIs REST com Gin, padrões de middleware, database/sql com sqlx e pgx, GORM e WebSockets.

  7. Testes, Ferramentas e Deploy

    Testes orientados por tabela e subtesses, apps de linha de comando com Cobra, configuração com Viper, logging estruturado com slog e builds multiestágio do Docker.

  8. Go avançado

    Generics com parâmetros de tipo e constraints, benchmarking e profiling com pprof, gRPC com Protocol Buffers, reflection e o modelo de memória.

Como funciona

Como funciona uma sessão

Cada lição é uma leitura curta seguida de código que você executa, para que a ideia e a prática aconteçam na mesma sessão.

  1. Leia uma lição curta

    Abra um curso e faça uma única lição de poucos minutos, com a teoria em linguagem simples e um pequeno exemplo, como o programa com package main e fmt.Println da primeira lição.

  2. Execute em uma toolchain real de Go

    O editor envia seu programa para um executor de Go e mostra a saída. gofmt, go vet e o race detector são executados da mesma forma, então o app precisa de conexão quando você toca em executar, e um programa que trava mostra uma explicação do erro em linguagem simples.

  3. Pratique de outro jeito

    Depois de um tópico, faça o quiz, resolva o kata diário, avance por um quebra-cabeça de concorrência ou peça ao AI Mentor para fazer perguntas. Cada opção aborda a mesma ideia de uma maneira diferente, e é isso que faz o conhecimento permanecer.

O que está incluído

O que vem com o app

51

Cursos, de A1 a C1

203 lições distribuídas em 51 cursos, desde fundamentos de Go, slices e maps até interfaces, tratamento de erros, goroutines, net/http, Gin, acesso a bancos de dados, implantação com Docker, gRPC e o garbage collector.

-race

Laboratório de Concorrência com o race detector

Seis quebra-cabeças executáveis abrangem duas goroutines em um channel, um handshake sem buffer, uma distribuição de trabalho com WaitGroup, um contador que perde atualizações, um map com dois escritores e um deadlock. Você também pode executar seu próprio código com o race detector, gratuitamente e sem limite diário.

Diário

Um novo kata todos os dias

Um exercício de Go verificado com base em uma tabela de casos, incluindo casos ocultos, com uma explicação de referência ao final. O kata diário é gratuito para todos; o Pro libera a biblioteca completa, as soluções de referência e as explicações.

Médico

Go Doctor

Verifique se o gofmt reescreveria seu arquivo e aplique a alteração, execute o go vet para encontrar problemas e, com o Pro, pergunte à análise de escape do compilador por que um valor é alocado. A formatação é ilimitada, e o go vet é limitado a três execuções por dia no plano gratuito.

7 etapas

Crie seu próprio núcleo HTTP

Uma trilha guiada na qual você escreve a requisição, a resposta, handlers como funções, roteamento, parâmetros de caminho, middleware e JSON com erros encapsulados, avançando uma etapa verificada por vez.

AI

AI Mentor e entrevista simulada

Peça ao AI Mentor para explicar um conceito, fornecer um roteiro de estudos ou fazer perguntas. Uma entrevista simulada faz cinco perguntas de Go no nível júnior, pleno ou sênior e atribui uma pontuação às suas respostas, com uma entrevista avaliada gratuita por semana.

Revisão

Go Recall e Go by Example

Cards curtos de “o que isso imprime?” sobre as armadilhas clássicas, como a ordem de defer, maps nil e o compartilhamento de memória em append, além de trechos executáveis da biblioteca padrão que você pode executar e editar.

Contexto

Por que aprender Go para trabalhar com backend e o que a torna diferente?

Go é uma linguagem compilada e estaticamente tipada, criada no Google, e amplamente usada em serviços web, ferramentas de linha de comando e infraestrutura de nuvem. Seu atrativo para backend é que muita coisa já vem integrada: a concorrência faz parte da linguagem, a biblioteca padrão cobre a maior parte do que um serviço pequeno precisa e um programa é compilado em um único binário, sem nada para instalar além dele. A linguagem é deliberadamente pequena, o que torna sua leitura rápida, mas dá aos iniciantes alguns hábitos desconhecidos para aprender logo no começo.

Goroutines e channelsconcorrência sem gerenciar threads

Uma goroutine é uma função iniciada com a palavra-chave go, e um channel é o canal que as goroutines usam para passar valores. Juntos, eles substituem a maior parte do gerenciamento manual de threads, e é por isso que a concorrência é ensinada logo no início, em vez de ficar reservada para um tópico avançado.

Erros são valoressem exceções

Uma função de Go que pode falhar retorna um error como segundo valor comum, e quem a chama verifica isso imediatamente. Há mais código do que em um bloco try, mas isso faz com que cada caminho de falha fique visível no código que você está lendo.

Interfaces implícitasduck typing, verificado em tempo de compilação

Um tipo satisfaz uma interface apenas por ter os métodos corretos; nada precisa ser declarado. Isso mantém os pacotes pouco acoplados e também é onde mora uma surpresa clássica de Go: uma interface que contém um ponteiro nil não é, por si só, nil.

Um binário e uma biblioteca padrão amplapor que a implantação é simples

Go compilado produz um único executável, e pacotes como net/http, encoding/json e database/sql vêm com a linguagem. Muitas vezes, um serviço pequeno não precisa de nenhum framework de terceiros, e esse é um dos motivos pelos quais imagens Docker de programas em Go podem ser pequenas.

Para quem é

Para quem é — e para quem não é

É uma boa opção se você

  • Quer um curso de Golang que possa fazer em sessões curtas no celular
  • Já programa em outra linguagem e quer ver goroutines e channels funcionando de verdade
  • Está buscando vagas de backend ou cloud e quer questões de entrevista sobre Go com feedback e pontuação
  • Aprende melhor com exercícios curtos e cards de armadilhas do que com vídeos longos
  • Quer verificar formatação, resultados do vet e data races no código que você mesmo escreveu

Não é a ferramenta certa se você

  • Precisa executar programas que importam net/http ou usam generics no runner do app, que é um sandbox Go 1.13
  • Quer executar código sem conexão, porque o runner funciona online
  • Espera que tudo seja gratuito: o primeiro curso, o kata diário e uma cota diária do Mentor de IA são gratuitos, e o Pro desbloqueia o restante
  • Precisa criar e publicar um serviço grande com vários pacotes, algo que ainda exige um laptop e o toolchain completo

Dúvidas

Perguntas frequentes

Qual é a melhor maneira de aprender Golang pelo celular?

Lições curtas acompanhadas de código que você realmente executa são melhores do que apenas ler, e Go recompensa a prática porque seus melhores recursos, goroutines e o race detector, são comportamentais. Aprender Go: Curso Code combina lições de poucos minutos com um editor, um kata diário e um Concurrency Lab. É gratuito para começar no iOS e Android, com 51 cursos organizados do nível iniciante ao avançado.

É possível compilar e executar código Go no celular?

Sim, com uma conexão. Aprender Go: Curso Code envia seu programa para um runner Go e exibe a saída, e o mesmo runner oferece gofmt, go vet e o race detector. O código não é executado no próprio celular, então você precisa estar online ao tocar em executar, e o runner tem limites, como uma pequena quantidade de memória disponível e um tamanho máximo de binário.

O runner do app oferece suporte a generics?

Ainda não. O runner do Aprender Go: Curso Code usa Go 1.13, e generics chegaram no Go 1.18, portanto um programa que use parâmetros de tipo ou a palavra-chave any não será compilado nele. O app informa isso em linguagem simples quando acontece e sugere a forma mais antiga. O curso de generics continua disponível para leitura como uma lição.

O que é o race detector do Go e como o app o utiliza?

O race detector informa quando duas goroutines acessam a mesma memória sem um lock entre elas, um bug que só aparece algumas vezes. No Aprender Go: Curso Code, o Concurrency Lab executa desafios como um contador atualizado por 200 goroutines sob o detector e permite adicionar um mutex e executar novamente. Você também pode colar seu próprio código com goroutines e executá-lo sob o detector.

O que é um kata de Go?

Um kata é um exercício pequeno e focado que você resolve com código, como inverter corretamente uma string com texto não ASCII ou encapsular um erro para que errors.Is continue encontrando-o. O Aprender Go: Curso Code oferece um novo kata diário, verifica sua função em uma tabela de casos que inclui casos ocultos e explica o padrão depois. O kata diário é gratuito para todos.

Preciso ter experiência em programação para começar?

Não. Aprender Go: Curso Code começa explicando o que é Go e por que ele existe; depois, aborda variáveis, tipos e fluxo de controle, e cada conceito é explicado em linguagem simples antes de ser praticado. A experiência em outra linguagem ajuda você a avançar mais rápido nos cursos iniciais, mas o primeiro curso foi escrito para quem está começando do zero.

O Learn Go é gratuito?

O app é gratuito para baixar. O primeiro curso é gratuito, assim como o kata diário, uma cota diária do Mentor de IA, verificações ilimitadas com gofmt, execuções ilimitadas sob o race detector e algumas execuções de go vet por dia. O Pro desbloqueia todos os cursos, remove os anúncios, oferece Mentor de IA ilimitado e libera a biblioteca de katas e a análise de escape.

Há um certificado ao final?

Sim. Ao passar no exame final, você recebe um certificado de conclusão do curso. Ele mostra o trabalho que você realizou e combina bem com um pequeno projeto que você possa explicar em uma entrevista, mas não é uma qualificação acadêmica credenciada.

O Learn Go ajuda na preparação para entrevistas de Golang?

Ajuda. A entrevista simulada faz cinco perguntas em nível júnior, pleno ou sênior, desde a diferença entre slices e arrays até o que um valor de interface contém em tempo de execução, e dá uma pontuação às suas respostas com feedback. Os cards do Go Recall treinam as armadilhas mais comuns, e os tópicos em que você teve dificuldade na entrevista são adicionados ao seu baralho de revisão. Uma entrevista com pontuação por semana é gratuita.

Em quais plataformas e idiomas ele está disponível?

Aprender Go: Curso Code funciona no iOS pela App Store e no Android pelo Google Play, e a interface está disponível em 22 idiomas. A classificação é 4+, portanto nada do material tem restrição de idade.

Comece agora

Escreva sua primeira goroutine hoje

Comece gratuitamente no iOS e no Android, em 22 idiomas.

App Store — Baixe grátisGoogle Play — Baixe grátis
Última revisão · Publicado pela CoddyKit · Política de privacidade
Disponível em iOS e Android.