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ística | O que significa na prática |
|---|---|
| Compilada | Você gera um executável binário. Não precisa de "máquina virtual" rodando junto. |
| Tipagem estática | O compilador te avisa de erros bobos antes de rodar o código. |
| Garbage collector | Você não precisa gerenciar memória manualmente como em C. |
| Concorrência nativa | Rodar várias coisas ao mesmo tempo é trivial. |
| Sintaxe minimalista | A linguagem cabe num cartão postal. Sem firulas. |
| Compilação ultra-rápida | Compila 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:
- Performance próxima de C/C++
- Concorrência que faz Python e Node parecerem brinquedos
- 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:
// 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:
go run hello.go # compila e executa em um passo
go build hello.go # gera um binário "hello" que você pode distribuirgo 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.