M01·01Introdução

CAPÍTULO 01

Introdução

O que é Go, por que ele domina backends de alta escala, e como rodar seu primeiro programa.

Por Thiago Souza5 min de leituraAtualizado em 2026-05

O que é Golang?

Go (também chamado de Golang porque o domínio golang.org era mais fácil de pesquisar do que go.org) é uma linguagem de programação criada pelo Google em 2009. Os criadores — Robert Griesemer, Rob Pike e Ken Thompson — eram pessoas frustradas. Frustradas com C++ (complexo demais), com Java (verboso demais) e com Python (lento demais para certas coisas).

Então eles pensaram:

"E se a gente criasse uma linguagem que fosse rápida como C, simples como Python e fácil de paralelizar como nada que existe?"

E foi assim que o Go nasceu. (Sim, o mascote é uma marmota chamada Gopher.)

Características principais (em linguagem humana)

CaracterísticaO que significa na prática
CompiladaVocê gera um executável binário. Não precisa de "máquina virtual" rodando junto.
Tipagem estáticaO compilador te avisa de erros bobos antes de rodar o código.
Garbage collectorVocê não precisa gerenciar memória manualmente como em C.
Concorrência nativaRodar várias coisas ao mesmo tempo é trivial.
Sintaxe minimalistaA linguagem cabe num cartão postal. Sem firulas.
Compilação ultra-rápidaCompila projetos enormes em segundos.

Por que Go domina sistemas de alta escala?

Pense numa cozinha de restaurante:

  • Python é como um chef incrível, mas que cozinha sozinho — produz pratos sofisticados, mas demora.
  • Java é uma cozinha gigante, com 50 funcionários, manuais de procedimento e burocracia — funciona, mas é pesada.
  • Go é uma cozinha enxuta com goroutines (mini-chefs) que se coordenam por channels (esteiras transportadoras) — entrega muito comida com pouca gente.

Quem usa Go em produção? Praticamente todo mundo que precisa de escala absurda:

  • Docker — toda a containerização moderna
  • Kubernetes — orquestração que move o mundo cloud
  • Uber — microsserviços de geolocalização
  • Netflix — partes da infraestrutura de streaming
  • Cloudflare — proxies e CDN
  • Twitch — chat em tempo real
  • Discord — sistema de mensagens

O motivo? Go entrega 3 coisas que backends modernos exigem:

  1. Performance próxima de C/C++
  2. Concorrência que faz Python e Node parecerem brinquedos
  3. Deploy simples — um único binário, sem dependências externas

Instalando e rodando seu primeiro programa

Baixe em go.dev/dl e crie um arquivo hello.go:

go
// Todo arquivo Go começa declarando a qual "pacote" pertence.
// "main" é o pacote especial que indica um programa executável.
package main
 
// "import" traz funcionalidades de outros pacotes.
// "fmt" é o pacote de formatação (print, etc).
import "fmt"
 
// A função "main" é o ponto de entrada do programa.
// É AQUI que tudo começa quando você roda o binário.
func main() {
    // Println imprime no terminal com quebra de linha no final.
    fmt.Println("Olá, mundo Go!")
}

Para rodar:

bash
go run hello.go     # compila e executa em um passo
go build hello.go   # gera um binário "hello" que você pode distribuir
Aquele binário que go build gera roda sozinho em qualquer máquina Linux/Mac/Windows compatível, sem precisar de Go instalado lá. É por isso que Go é o queridinho do DevOps.