Introdução

Concluído

Você já deve ter ouvido falar que Go faz um excelente trabalho para simultaneidade. Talvez seja o recurso mais proeminente que tornou o Go tão popular e a escolha para escrever outros softwares como Docker, Kubernetes e Terraform.

Antes de começar a aprender sobre como a simultaneidade funciona no Go, talvez seja necessário esquecer o que já sabe de outras linguagens de programação. A abordagem de Go é diferente.

Neste ponto, você já tem o conhecimento necessário para cobrir tópicos mais avançados, como simultaneidade. No entanto, começaremos argumentando por que a simultaneidade é necessária. Vamos introduzindo diferentes tópicos pouco a pouco.

Recomendamos que você pratique todos os exemplos de código e não avance até entender completamente os conceitos. Como você já experimentou em módulos anteriores, a prática é o que irá ajudá-lo a entender melhor os conceitos.

Vamos começar a explorar o que você aprenderá neste módulo.

Objetivos de aprendizagem

Neste módulo, irá aprender sobre:

  • Como funciona a simultaneidade no Go.
  • A diferença entre simultaneidade e paralelismo.
  • Como funciona a comunicação em um programa simultâneo usando canais.
  • Como escrever um programa que é executado mais rápido implementando simultaneidade.
  • Como escrever programas dinâmicos que podem usar buffers para tirar proveito da simultaneidade quando você deseja iniciar um número limitado de chamadas simultâneas.

Pré-requisitos

  • Um ambiente Go pronto para criar aplicativos. Idealmente, você deve ter o Go instalado e configurado localmente e ter o Visual Studio Code instalado com a extensão Go.
  • A capacidade de criar e modificar .go arquivos.
  • A capacidade de executar aplicativos 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 usar bibliotecas como net/http.