Go para Iniciantes: Primeiros Passos

Nunca programou em Go? Este guia te leva do zero ao seu primeiro programa funcionando.

Por que Go?

Go foi criada pelo Google para resolver problemas reais:

  • Simples — Sintaxe limpa, fácil de ler
  • Rápida — Compila em segundos, roda em milissegundos
  • Prática — Baterias incluídas, sem frameworks gigantes

Empresas como Google, Uber, Nubank e iFood usam Go em produção.

Instalação

Windows

  1. Baixe o instalador em go.dev/dl
  2. Execute o .msi
  3. Abra um novo terminal e digite go version

macOS

# Com Homebrew
brew install go

# Verifique
go version

Linux

# Ubuntu/Debian
sudo apt update
sudo apt install golang-go

# Ou baixe direto
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

Seu Primeiro Programa

Crie um arquivo chamado main.go:

package main

import "fmt"

func main() {
    fmt.Println("Olá, Go!")
}

Execute:

go run main.go

Saída:

Olá, Go!

🎉 Parabéns! Você rodou seu primeiro programa Go.

Entendendo o Código

package main          // Todo programa Go começa com um package
                      // "main" é especial - indica um executável

import "fmt"          // Importa o pacote de formatação
                      // fmt = format (imprimir, ler entrada)

func main() {         // Função principal - ponto de entrada
    fmt.Println("Olá, Go!")  // Imprime texto na tela
}

Variáveis

package main

import "fmt"

func main() {
    // Declaração explícita
    var nome string = "Maria"
    var idade int = 25
    
    // Declaração curta (mais comum)
    cidade := "São Paulo"
    
    fmt.Println(nome, idade, cidade)
}

Tipos Básicos

TipoDescriçãoExemplo
stringTexto"Olá"
intNúmero inteiro42
float64Número decimal3.14
boolVerdadeiro/Falsotrue

Condicionais

idade := 18

if idade >= 18 {
    fmt.Println("Maior de idade")
} else {
    fmt.Println("Menor de idade")
}

Loops

Go tem apenas for — ele faz tudo:

// Loop tradicional
for i := 0; i < 5; i++ {
    fmt.Println(i)
}

// While-style
contador := 0
for contador < 5 {
    fmt.Println(contador)
    contador++
}

// Infinito (com break)
for {
    fmt.Println("Loop infinito")
    break  // Sai do loop
}

Funções

func soma(a int, b int) int {
    return a + b
}

func main() {
    resultado := soma(5, 3)
    fmt.Println(resultado)  // 8
}

Múltiplos Retornos

Go permite retornar vários valores:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("divisão por zero")
    }
    return a / b, nil
}

func main() {
    resultado, err := divide(10, 2)
    if err != nil {
        fmt.Println("Erro:", err)
        return
    }
    fmt.Println(resultado)  // 5
}

Próximos Passos

Agora que você conhece o básico:

  1. Tour of Go — Tutorial interativo oficial
  2. Go by Example — Exemplos práticos
  3. Como Aprender Go — Guia completo de recursos

Exercícios para Praticar

  1. Crie um programa que imprime números de 1 a 10
  2. Faça uma calculadora simples (soma, subtração)
  3. Crie uma função que verifica se um número é par

Veja Também


Última atualização: Janeiro 2026


Próximos passos

Agora que você conhece o básico de Go, continue aprendendo: