0Pricing
Go Academy · Aula

Instruções if e expressões de inicialização

Condicionais com instruções opcionais de inicialização

Instruções if e expressões de inicialização é uma aula grátis de Go Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Go Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Go Academy inclui 4 aulas no total.

if em Go

A instrução if do Go avalia uma expressão booleana — não são necessários parênteses, mas as chaves são obrigatórias:

if x > 0 {
    // positive
}

else e else if

Encadeie condições com else if e trate o caso alternativo com else:

func classify(n int) string {
    if n < 0 {
        return "negative"
    } else if n == 0 {
        return "zero"
    } else {
        return "positive"
    }
}

if com instrução de inicialização

Go permite uma instrução de inicialização opcional antes da condição — ideal para limitar o escopo de variáveis temporárias:

if err := doSomething(); err != nil {
    // err is only in scope here
    return err
}

Definição de escopo com instrução de inicialização

As variáveis declaradas na instrução de inicialização ficam no escopo do bloco if/else. Isso impede que variáveis vazem para a função envolvente:

func process(id int) error {
    if val, err := lookup(id); err != nil {
        return err
    } else {
        use(val) // val is in scope here
    }
    return nil
}

Expressões booleanas

A condição do Go deve ser um bool — não há conversão implícita:

  • Válido: if count != 0
  • Inválido: if count — erro de compilação em Go (ao contrário de C/JavaScript)
  • Isso evita bugs comuns de deslocamento de um e de desreferência de nil

Verificações de nil

Verifique ponteiros, fatias, mapas e erros nil com == nil:

func greet(name *string) string {
    if name == nil {
        return "Hello, stranger"
    }
    return "Hello, " + *name
}

Padrão de retorno antecipado

Go favorece fortemente retornos antecipados para reduzir o aninhamento (o "caminho feliz" permanece na margem esquerda):

func save(user User) error {
    if user.Name == "" {
        return errors.New("name required")
    }
    if user.Age < 0 {
        return errors.New("invalid age")
    }
    return db.Insert(user)
}

Combinação de condições

Use && e || para combinar condições. A avaliação com curto-circuito se aplica — o lado direito só é avaliado quando necessário:

if user != nil && user.IsActive() {
    sendEmail(user)
}

if versus switch

Quando há muitas condições sobre a mesma variável, switch geralmente é mais claro. Use if quando:

  • As condições são expressões booleanas independentes
  • É necessário usar instruções de inicialização com verificações de erro
  • Há apenas 1 ou 2 ramificações

Como evitar pirâmides de if-else

Blocos de if-else profundamente aninhados prejudicam a legibilidade. Combata isso com:

  • Retornos antecipados
  • Instruções switch para vários casos
  • Divisão da lógica em funções menores
  • Cláusulas de proteção no início de uma função

Verificação rápida

O que há de exclusivo na instrução if do Go em comparação com C?

Recapitulação: instruções if

A instrução if do Go é poderosa e clara:

  • Não há parênteses ao redor da condição — as chaves são obrigatórias
  • A instrução de inicialização limita o escopo das variáveis ao bloco if/else
  • A condição deve ser estritamente bool
  • Prefira retornos antecipados a aninhamentos profundos
  • Use &&/|| com avaliação por curto-circuito

Próximo: o versátil laço for do Go.

Perguntas Frequentes

A aula “Instruções if e expressões de inicialização” é grátis?

Sim — o texto completo de “Instruções if e expressões de inicialização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Go Academy, atualize para CoddyKit PRO. O curso de Go Academy inclui 4 aulas no total.

O que vou aprender em “Instruções if e expressões de inicialização”?

Condicionais com instruções opcionais de inicialização Você pratica Go Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Go Academy?

Nenhuma experiência prévia é necessária. Go Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Instruções if e expressões de inicialização”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Go Academy?

Sim. Cada aula de Go Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Instruções if e expressões de inicialização
  2. O laço for: todos os padrões
  3. Instruções switch em Go
  4. break, continue e rótulos
← Voltar para Go Academy