Punto del curso de Solidity: 4.1 Estructuras condicionales (if, else)
En Solidity, al igual que en muchos otros lenguajes de programación, las estructuras condicionales se utilizan para ejecutar diferentes bloques de código basados en ciertas condiciones. Las estructuras condicionales más básicas e importantes son if
y else
.
El bloque if
El bloque if
se utiliza para evaluar una condición. Si la condición es verdadera, se ejecuta el bloque de código dentro del if
. La sintaxis básica de un bloque if
en Solidity es la siguiente:
if (condición) { // código a ejecutar si la condición es verdadera }
Aquí hay un ejemplo simple que muestra cómo usar un bloque if
en Solidity:
pragma solidity ^0.8.0 contract EjemploIf { uint public valor function establecerValor(uint nuevoValor) public { if (nuevoValor > 100) { valor = 100 } } }
En este ejemplo, la función establecerValor
establece valor
solo si nuevoValor
es mayor que 100. Si la condición es verdadera, valor
se establece en 100.
El bloque if ... else
La estructura condicional if ... else
se utiliza para manejar dos casos: uno si la condición es verdadera y otro si la condición es falsa. La sintaxis básica es la siguiente:
if (condición) { // código a ejecutar si la condición es verdadera } else { // código a ejecutar si la condición es falsa }
Aquí hay un ejemplo que muestra cómo usar if ... else
en Solidity:
pragma solidity ^0.8.0 contract EjemploIfElse { string public mensaje function establecerMensaje(uint valor) public { if (valor < 50) { mensaje = El valor es menor que 50 } else { mensaje = El valor es 50 o mayor } } }
En este ejemplo, la función establecerMensaje
establece mensaje
basado en si valor
es menor que 50 o no.
El bloque if ... else if ... else
Para manejar múltiples condiciones, se pueden utilizar múltiples cláusulas else if
. La sintaxis básica es la siguiente:
if (condición1) { // código a ejecutar si condición1 es verdadera } else if (condición2) { // código a ejecutar si condición2 es verdadera } else { // código a ejecutar si ninguna de las condiciones anteriores es verdadera }
Aquí hay un ejemplo que muestra cómo usar if ... else if ... else
en Solidity:
pragma solidity ^0.8.0 contract EjemploIfElseIfElse { string public mensaje function establecerMensajePorRango(uint valor) public { if (valor < 20) { mensaje = El valor es menor que 20 } else if (valor < 40) { mensaje = El valor es entre 20 y 39 } else if (valor < 60) { mensaje = El valor es entre 40 y 59 } else { mensaje = El valor es 60 o mayor } } }
En este ejemplo, la función establecerMensajePorRango
establece mensaje
basado en diferentes rangos de valor
.
Consideraciones Importantes
- La condición en un bloque
if
debe ser una expresión que se evalúe a un booleano (true
ofalse
). - Es fundamental asegurarse de que las condiciones cubren todos los posibles casos para evitar resultados inesperados.
Deja una respuesta