Golang para Iniciantes

Este curso guia você através do domínio da programação Go com laboratórios práticos e desafios. Você aprenderá conceitos chave como escrever seu primeiro programa, gerenciar pacotes, usar tipos de dados, fluxo de controle e recursos específicos do Go, como slices, maps, canais (channels) e funções anônimas, construindo uma base sólida para enfrentar tarefas de programação do mundo real.

Golang

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Programa

Guia para Iniciantes em Programação Go

Crie uma Saudação Personalizada em Go

GOPATH e Go Modules

Construir um Projeto Go Modular

Criando e Importando Pacotes Go

Construir um Pacote de Utilidades Matemáticas

Introdução às variáveis em Go

Criação de Variáveis para Inventário de Livros

Processamento de Dados com Operadores em Golang

Calcular o Preço com Desconto do Produto

Tipos Numéricos em Golang

Converter e Calcular Tipos Numéricos

Tipos de Caracteres em Golang

Decodificar Emojis Unicode

Fundamentos de Strings em Go

Processar Strings de Registro de Usuário

Fundamentos de Constantes em Go

Definir Constantes de Tamanho de Servidor

Instrução If em Golang

Classificar Tarefas com Lógica Condicional

Estruturas de Desvio Switch-Case em Golang

Implementar Switch de Conselhos Meteorológicos

Loops For em Golang

Inverter String com Loop em Go

Uso da Declaração Goto

Resolvendo a Complexidade de Loops Aninhados com Goto

Operações com Arrays em Golang

Inicializar Array de Nomes de Funcionários

Arrays Multidimensionais em Golang

Projete um Rastreador de Notas de Alunos

Estruturas de Dados Slice em Golang

Desafio de Filtro de Logs com Slices

Fundamentos de Dicionários em Go

Gerenciar Notas de Alunos com Go Maps

Ordenação de Dicionários em Go

Ordenação Dinâmica de Notas de Alunos

Primitivas de Canal em Golang

Construir um Pipeline de Dados Simples com Canais

Estruturas em Golang

Projetando a Estrutura Student em Go

Funções em Golang

Projetar uma Função Matemática Flexível

Funções Anônimas em Golang

Projetar Transformações Matemáticas Flexíveis

Introdução

Construa uma base ampla em Go com 44 laboratórios práticos organizados em 22 pares de laboratório guiado e desafio. Em um WebIDE fornecido, você escreverá e executará programas, aprenderá conceitos por exemplos e depois resolverá uma tarefa focada para aplicá-los.

O curso avança de sintaxe, modules, packages e tipos para control flow e collections. Mais adiante introduz structs, padrões flexíveis de função e channels; começa em Beginner, mas inclui vários desafios Intermediate e um pipeline de channels Advanced.

O que você aprenderá

Ao concluir o curso, você saberá:

  • Escrever e executar um programa Go básico, explicar sua estrutura e usar funções comuns de fmt.
  • Organizar projetos com Go Modules e packages, gerenciar imports e distinguir funções exportadas e privadas.
  • Declarar variáveis e constantes e usar operadores, números, booleanos, strings, bytes, runes, Unicode e iota.
  • Expressar decisões e repetição com if, switch, for, break, continue e usos direcionados de goto.
  • Criar, percorrer, alterar, copiar, filtrar e ordenar dados em arrays, arrays multidimensionais, slices e maps.
  • Definir e inicializar structs para agrupar valores relacionados em modelos claros.
  • Escrever funções com retornos múltiplos e parâmetros variádicos e usar funções anônimas como chamadas e callbacks.
  • Criar channels tipados e direcionais e conectar goroutines produtoras e consumidoras em um pipeline simples.

Para quem é este curso

O curso é para quem está começando em Go e deseja um currículo substancial com prática após cada tema. Também atende programadores de outras linguagens que precisam exercitar modules, collections, functions e o modelo de channels de Go.

Pré-requisitos: Não é necessária experiência com Go. Você deve se sentir à vontade para digitar comandos e editar código; conhecer variáveis, condições, loops e funções facilitará o ritmo.

Ambiente de aprendizagem: Os 44 laboratórios usam WebIDEs Ubuntu 22.04 fornecidos com as ferramentas Go disponíveis. O trabalho ocorre principalmente no terminal e editor, e cada tema guiado é seguido por um desafio curto de programação.

Perguntas frequentes

Como os 44 laboratórios são organizados?

Eles formam 22 pares temáticos. Um laboratório explica e demonstra um conceito Go, depois o desafio correspondente pede um pequeno programa ou função que o utilize.

Todos os exercícios são Beginner?

Não. Os laboratórios guiados são Beginner, vários desafios de aplicação são Intermediate e o pipeline produtor-consumidor com channels é Advanced. O início é gradual, mas as tarefas finais exigem mais autonomia.

Qual é a profundidade da concurrency em Go?

O curso introduz declaração, inicialização, envio, recebimento, blocking e direção de channels, além de um pipeline simples com goroutines. Não cobre padrões de produção, synchronization primitives, cancellation ou distributed systems.

Vou criar web services ou aplicações com database?

Não. O currículo se concentra na linguagem Go e em pequenos programas de linha de comando. HTTP servers, frameworks, databases, testing packages e arquitetura de serviços ficam fora do escopo.

Professor

labby
Labby
Labby is the LabEx teacher.