Introdução ao Go: por que esta linguagem é relevante em 2025
Go (ou Golang) é uma linguagem de programação compilada e fortemente tipada, desenvolvida pela Google em 2009. Em 2025, Go mantém posições sólidas no top 10 das linguagens segundo o TIOBE e o Stack Overflow. É frequentemente escolhida para criar serviços web de alta carga, arquitetura de microsserviços, aplicações em nuvem e ferramentas de DevOps.
Por que vale a pena começar a aprender Go agora mesmo? As principais razões são a simplicidade da sintaxe (lembra um C simplificado), o suporte embutido para concorrência (goroutines) e a velocidade incrível de compilação. Para desenvolvedores que desejam migrar do Python ou JavaScript para linguagens mais performáticas, Go é o "segundo idioma" ideal.
Instalação e configuração do ambiente para Go
Antes de escrever o primeiro código, é preciso instalar o compilador Go. Em 2025, o processo ficou ainda mais simples.
Passo 1: Download e instalação
Acesse o site oficial go.dev/dl e baixe o instalador para o seu sistema operacional (Windows, macOS, Linux).
- Windows: Execute o arquivo MSI e siga as instruções. O Go será instalado em
C:\\Program Files\\Go. - macOS: Use o Homebrew:
brew install go. - Linux: Baixe o arquivo e extraia-o em
/usr/local:tar -C /usr/local -xzf go1.22.*.linux-amd64.tar.gz.
Após a instalação, verifique a versão no terminal:
go versionVocê deve ver algo como go version go1.22.2 linux/amd64.
Passo 2: Configuração do GOPATH e módulos
O Go moderno usa um sistema de módulos. Não é mais necessário configurar o GOPATH manualmente. Basta criar uma pasta para o projeto e inicializar o módulo:
mkdir my-first-go-projectcd my-first-go-projectgo mod init example.com/my-first-go-projectO arquivo go.mod será criado automaticamente — é o equivalente ao package.json ou requirements.txt.
Fundamentos da sintaxe Go: primeiros passos
Go é uma linguagem com sintaxe minimalista. Não possui classes (usa structs), não tem herança (usa composição) e não tem exceções (usa valores de retorno múltiplos).
Seu primeiro programa "Hello, World!"
Crie um arquivo main.go e escreva:
package main
import "fmt"
func main() { fmt.Println("Olá, mundo Go em 2025!")}Execute o programa com o comando:
go run main.goVariáveis e tipos de dados
Go suporta tipagem estática. As variáveis são declaradas de duas formas:
// Declaração completavar name string = "GoLang"
// Forma abreviada (apenas dentro de funções)age := 2025
fmt.Println(name, age)Tipos principais: int, float64, string, bool, além de tipos compostos: array, slice, map, struct.
Operadores condicionais e loops
Em Go não existe while — usa-se apenas for em diferentes formas:
// for clássicofor i := 0; i < 5; i++ { fmt.Println(i)}
// Análogo ao whilesum := 1for sum < 100 { sum += sum}
// Loop infinitofor { // break para sair}O operador condicional if não exige parênteses, mas as chaves são obrigatórias:
if age >= 18 { fmt.Println("Adulto")} else { fmt.Println("Menor de idade")}Concorrência em Go: goroutines e canais
A principal "característica" do Go é a concorrência leve. Em vez de threads do SO, são usadas goroutines. Elas ocupam me