Estruturas de Controle
Condicionais
As estruturas condicionais permitem que o contrato inteligente execute ações dependendo do cumprimento de condições especÃficas.
if-else: É a estrutura condicional mais básica, utilizada para executar blocos de código caso uma condição seja verdadeira ou falsa.
if (condicao) {
// Código a ser executado se a condição for verdadeira
} else {
// Código a ser executado se a condição for falsa
}
Laços (Loops)
Os laços permitem executar um bloco de código repetidamente sob certas condições.
for: Utilizado para repetir um bloco de código um número determinado de vezes.
for (inicialização; condição; incremento) {
// Código a ser executado a cada iteração
}
while: Executa um bloco de código enquanto uma condição especÃfica for verdadeira.
while (condição) {
// Código a ser executado enquanto a condição for verdadeira
}
do-while: Similar ao laço
while
, mas garante que o bloco de código seja executado pelo menos uma vez.
do {
// Código a ser executado
} while (condição);
Controle de Fluxo
O Solidity também inclui declarações de controle de fluxo que afetam como os laços e condicionais são executados.
break: Termina a execução do laço mais interno. É usado para sair de um laço quando uma condição especÃfica é atendida.
while (condição) { // Código a ser executado enquanto a condição for verdadeira if (expressão) { // Interrompe a execução do laço se a expressão for verdadeira break; } }
continue: Pula o restante do código no laço atual e inicia a próxima iteração do laço.
while (condição) { // Código a ser executado enquanto a condição for verdadeira if (expressão) { // Sai desta iteração do laço se a expressão for verdadeira continue; } }
Manipulação de Erros
Existem também estruturas para manipular erros e reverter transações, se necessário.
require: É usado para validar condições e reverter a transação se a condição não for atendida, opcionalmente com uma mensagem de erro.
require(condição, "Mensagem de erro");
revert: Reverte a transação. Pode ser utilizado com uma mensagem de erro especÃfica.
revert("Mensagem de erro");
assert: Usado para realizar verificações internas e de invariantes. Se a condição avaliada for falsa, a transação é revertida e consome todo o gás disponÃvel, indicando um erro grave.
assert(condição);
Last updated