Pular para o conteúdo principal

Estruturas de controle

Go possui estruturas de controle simples, sem parênteses obrigatórios (diferente de Java) e com foco em clareza.

if

  • Suporta inicialização na própria declaração.
  • Não há operador ternário em Go.

Exemplo

Carregando editor interativo...

Comparação com Java

Java

if (x % 2 == 0) { ... }

Go

if x := numero % 2; x == 0 { ... } // inicialização direta

for

  • Única estrutura de laço em Go (não há while ou do-while)
  • Suporta quatro formas: tradicional, condição simples, infinito e range

Exemplo

Carregando editor interativo...

switch

  • Mais simples que em Java: não precisa de break (não há fall-through por padrão)
  • Suporta múltiplas condições por caso e inicialização

Exemplo

Carregando editor interativo...

defer

  • Adia a execução de uma instrução até o fim da função
  • Útil para liberar recursos (similar ao try-with-resources em Java)

Exemplo

Carregando editor interativo...
Caso de uso

defer é usado para fechar arquivos, conexões de banco ou liberar mutexes