Introdução

Concluído

Chegamos ao módulo final, onde escreveremos um programa que usa quase todos os conceitos que vimos até agora. A ideia é guiá-lo passo a passo sobre como escrever um programa. Vamos mostrar-lhe como estruturar os arquivos, como compilar os arquivos, como executar o programa e como testar o programa. Não abordamos como escrever testes no Go, mas usaremos este módulo para introduzir este importante tópico.

Começaremos por escrever o núcleo do programa, que será para um banco online. Os usuários irão interagir com o seu programa através de uma API. Vamos criar dois projetos em Go para praticar como referenciar pacotes locais de outro programa. Finalmente, para garantir que nossa lógica de programa principal sempre funcione, criaremos um conjunto de testes que podemos executar antes de testar o programa manualmente no navegador.

Como outros módulos, você terá que estender o programa resolvendo um desafio que irá ajudá-lo a ser mais confiante ao escrever outros programas Go no futuro.

Objetivos de aprendizagem

Neste módulo, você praticará e aprenderá:

  • Como funciona o teste no Go.
  • Como envolver a lógica central de um programa em um pacote.
  • Como expor a lógica principal por meio de uma API da Web.
  • Como escrever testes para seu pacote de lógica principal (usando o desenvolvimento controlado por teste).
  • Como quase todos os conceitos que abordamos até agora podem funcionar juntos.

Pré-requisitos

  • Um ambiente Go pronto para criar programas. Idealmente, você deve ter instalado e configurado Go localmente e instalado Visual Studio Code com a extensão Go.
  • A capacidade de criar e modificar .go arquivos.
  • A capacidade de executar programas Go usando o prompt do terminal.
  • Conhecimento de tipos de dados básicos como string, inte boolean.
  • Conhecimento de como escrever fluxos básicos de controle de dados como if e for instruções.
  • Conhecimento de como escrever funções.
  • Conhecimento de como criar estruturas e métodos.
  • Conhecimento de como usar bibliotecas como net/http.