Estructuras de Control

Condicionales

Las estructuras condicionales permiten que el contrato inteligente realice acciones dependiendo del cumplimiento de condiciones específicas.

  • if-else: Es la estructura condicional más básica, utilizada para ejecutar bloques de código si una condición es verdadera o falsa.


if (condicion) {
    // Código a ejecutar si la condición es verdadera
} else {
    // Código a ejecutar si la condición es falsa
}

Bucles

Los bucles permiten ejecutar un bloque de código repetidamente bajo ciertas condiciones.

  • for: Utilizado para repetir un bloque de código un número determinado de veces.

for (inicialización; condición; incremento) {
    // Código a ejecutar en cada iteración
}
  • while: Ejecuta un bloque de código mientras una condición específica sea verdadera.

while (condición) {
    // Código a ejecutar mientras la condición sea verdadera
}
  • do-while: Similar al bucle while, pero garantiza que el bloque de código se ejecute al menos una vez.

do {
    // Código a ejecutar
} while (condición);

Control de Flujo

Solidity también incluye declaraciones de control de flujo que afectan cómo se ejecutan los bucles y condicionales.

  • break: Termina la ejecución del bucle más interno. Se utiliza para salir de un bucle cuando se cumple una condición específica.

    while (condición) {
        // Código a ejecutar mientras la condición sea verdadera
    		if (expresión){
    			// Detiene la ejecución del bucle si la expresión es verdadera
    			break;
    			}
     }
  • continue: Salta el resto del código en el bucle actual e inicia la siguiente iteración del bucle.

    while (condición) {
        // Código a ejecutar mientras la condición sea verdadera
    		if (expresión){
    			// Sale de esta iteración del bucle si la expresión es verdadera
    			continue;
    			}
     }

Manejo de Errores

Existen también estructuras para manejar errores y revertir transacciones si es necesario.

  • require: Se utiliza para validar condiciones y revertir la transacción si la condición no se cumple, opcionalmente con un mensaje de error.

require(condición, "Mensaje de error");
  • revert: Revierte la transacción. Puede ser utilizado con un mensaje de error específico.

revert("Mensaje de error");
  • assert: Utilizado para realizar comprobaciones internas y de invariantes. Si la condición evaluada es falsa, la transacción se revierte y consume todo el gas disponible, indicando un error grave.

assert(condición);

Last updated