Lição: 028: Instruções Break e Continue
Nesta aula, vamos explorar as instruções break
e continue
em Solidity, que são usadas para controlar o fluxo de loops. Essas instruções podem ajudá-lo a gerenciar a execução de loops de maneira elegante, permitindo que você pule iterações ou saia de loops inteiros com base em certas condições.
Instrução Break
A instrução break
é usada para encerrar um loop de forma antecipada. Quando uma instrução break
é encontrada, o loop para de ser executado, e o controle é transferido para a instrução imediatamente seguinte ao loop.
Exemplo da Instrução Break
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ExemploBreak {
function encontrarPrimeiroPar(uint256 limite) public pure returns (uint256) {
for (uint256 i = 0; i < limite; i++) {
if (i % 2 == 0) {
return i; // Retorna o primeiro número par encontrado
}
}
return limite; // Se nenhum número par for encontrado, retorna o limite
}
}
Neste exemplo, a função encontrarPrimeiroPar
realiza um loop de 0
até limite
. Ela usa a instrução break
para sair do loop assim que encontra o primeiro número par. No entanto, neste trecho de código, não estamos usando explicitamente o break
, mas retornando o número em vez disso. A lógica é essencialmente a mesma.
Para ilustrar um uso claro do break
, podemos modificar o código da seguinte forma:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ExemploBreak {
function primeiroNumeroPar(uint256 limite) public pure returns (uint256) {
for (uint256 i = 0; i < limite; i++) {
if (i % 2 == 0) {
break; // Saí do loop assim que o primeiro número par é encontrado
}
}
return limite; // O limite será retornado se nenhum número par for encontrado
}
}
Neste caso, se quiséssemos retornar o número e mostrar como o break
interrompe a iteração, poderíamos definir uma variável para armazenar nosso resultado fora do loop.
Instrução Continue
A instrução continue
pula a iteração atual de um loop e continua com a próxima iteração desse loop. É útil quando você deseja ignorar casos específicos sem terminar todo o loop.
Exemplo da Instrução Continue
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract ExemploContinue {
function contarImpares(uint256 limite) public pure returns (uint256) {
uint256 contagemImpar = 0;
for (uint256 i = 0; i < limite; i++) {
if (i % 2 == 0) {
continue; // Pula os números pares
}
contagemImpar++; // Conta os números ímpares
}
return contagemImpar; // Retorna a contagem de números ímpares
}
}
Na função contarImpares
, estamos contando o número de números ímpares até o limite
. A instrução continue
nos permite pular a contagem de números pares, garantindo que apenas números ímpares contribuam para a contagem.
Resumo
Nesta aula, cobrimos como usar as instruções break
e continue
em Solidity para gerenciar o fluxo de loops. A instrução break
permite que você saia de um loop antecipadamente com base em uma condição especificada, enquanto a instrução continue
possibilita que você pule a iteração atual e prossiga com a próxima.
Essas instruções de controle podem melhorar significativamente a legibilidade e a manutenção do seu código, especialmente em estruturas de loops complexas. À medida que você pratica o uso dessas instruções, você as encontrará como ferramentas valiosas em sua caixa de ferramentas de programação em Solidity.