Publicado em

break e continue em Go

Partilhar:

Introdução

A linguagem Go, assim como muitas outras linguagens de programação, oferece uma variedade de ferramentas para controlar o fluxo de execução do código. Entre elas, as palavras-chave break e continue desempenham um papel crucial, especialmente quando trabalhamos com ciclos.

Compreendendo o break

O break não é exclusivo de Go; ele tem sua origem em linguagens anteriores e é amplamente reconhecido por desenvolvedores em muitos contextos. O seu papel principal é:

  • Encerrar imediatamente o ciclo mais interno, seja for, switch ou select.

Vejamos um exemplo prático para ilustrar sua funcionalidade:

for i := 0; i < 10; i++ {
    if i == 5 {
        break
    }
    fmt.Println(i)
}

No código acima, o ciclo irá imprimir os números de 0 a 4. Quando i atingir o valor 5, a execução do ciclo é interrompida.

A profundidade do continue

O continue, por outro lado, tem uma abordagem um pouco diferente:

  • Ele encerra a iteração atual e move-se diretamente para a próxima iteração do ciclo.

Vamos explorar um cenário onde isso pode ser útil:

for i := 0; i < 10; i++ {
  if i%2 == 0 {
    continue
  }

  fmt.Println(i)
}

Aqui, queremos imprimir apenas números ímpares. Assim, quando encontramos um número par (i%2 == 0), usamos continue para pular a impressão e continuar com a próxima iteração.

Uso conjunto de break e continue

Em algumas situações, pode ser necessário usar ambos em conjunto. Imagine que você queira percorrer uma lista de números e interromper o ciclo ao encontrar um número específico, mas também deseja pular certos números.

for i := 0; i < 20; i++ {
  if i%2 == 0 {
    continue
  }

  if i == 15 {
    break
  }

  fmt.Println(i)
}

Neste exemplo, continuamos a pular números pares, mas também encerramos completamente o ciclo quando i é 15.

Conclusão

Dominar o uso de break e continue em Go pode simplificar muitos desafios relacionados ao controle de fluxo dentro de ciclos. Ao compreender profundamente como e quando usar essas palavras-chave, você pode não apenas tornar seu código mais legível, mas também otimizar a lógica de execução do seu programa.

Happy coding!