Introdução ao Go: por onde começar em 2025: na prática
Go (ou Golang) é uma linguagem de programação compilada, estaticamente tipada, desenvolvida no Google. Em 2025, ela ocupa firmemente o nicho de microsserviços de alto desempenho, aplicações em nuvem e ferramentas DevOps. Se você quer começar a estudar Go de uma perspectiva prática, este guia o levará desde a instalação até a escrita do primeiro programa significativo.
Por que Go? Ele combina a simplicidade do Python com o desempenho do C. Go é ideal para criar aplicações de servidor confiáveis, utilitários de rede e computação paralela graças ao suporte embutido para goroutines. Neste artigo, vamos analisar os conceitos-chave com exemplos de código que você poderá executar imediatamente.
1. Instalação e configuração do ambiente
O primeiro passo é instalar o compilador Go. Em 2025, a versão estável atual é Go 1.22 ou 1.23. A instalação é simples:
- Windows: Baixe o instalador MSI do site oficial e execute-o.
- macOS: Use o Homebrew:
brew install go. - Linux: Baixe o arquivo
.tar.gze extraia-o em/usr/localou use o gerenciador de pacotes (por exemplo,sudo apt install golang-go).
Após a instalação, verifique a versão no terminal:
go versionVocê deve ver algo como go version go1.22.0 linux/amd64. Agora, crie um espaço de trabalho (workspace). Em Go, é comum armazenar todos os projetos em uma única pasta. Crie a pasta go-projects e, dentro dela, uma pasta para o primeiro projeto:
mkdir -p ~/go-projects/hellocd ~/go-projects/helloInicialize o módulo — esta é a unidade principal de gerenciamento de dependências:
go mod init helloEste comando criará o arquivo go.mod, que rastreará as dependências do seu projeto.
2. Sintaxe: variáveis, tipos e estruturas de controle
Go possui um sistema de tipos rigoroso, porém conciso. Vamos criar o arquivo main.go e escrever um exemplo básico:
package main
import "fmt"
func main() { // Declaração de variáveis var name string = "Go" var version int = 2025 isFast := true // declaração curta (tipo é inferido automaticamente)
fmt.Println("Olá,", name) fmt.Println("Versão:", version) fmt.Println("Go é rápido?", isFast)
// Operador condicional if version > 2024 { fmt.Println("Esta é a versão atual!") }
// Loop for (único loop em Go) for i := 0; i < 3; i++ { fmt.Printf("Iteração %d", i) }}Pontos-chave:
package main— indica que este é um programa executável.import "fmt"— importa o pacote para entrada/saída formatada.vare:=— duas formas de declarar variáveis.:=é usado apenas dentro de funções.- Tipos:
string,int,bool,float64e outros.
Execute o programa com o comando go run main.go. Você deve ver a saída no console.
3. Funções e estruturas: a base da modularidade
Funções em Go são declaradas com a palavra-chave func. Elas podem retornar múltiplos valores — esta é uma das principais características da linguagem. Estruturas (struct) são análogas às classes em POO, mas sem herança.
package main
import "fmt"
// Estrutura para representar um usuáriotype User struct { Name string Age int}
// Função que retorna múltiplos valoresfunc createUser(name string, age int) (User, error)