Día 8: Declaraciones Condicionales If/Else: Una Guía Completa

Tabla de contenidos

¡Bienvenidos al octavo día de la saga #SolidityDe0a100! En esta edición, nos sumergiremos en el fascinante mundo de las declaraciones condicionales en el lenguaje de programación Solidity, utilizado para escribir contratos inteligentes en la blockchain de Ethereum. Las declaraciones if, else if y else son esenciales para implementar lógica y tomar decisiones basadas en condiciones específicas dentro de nuestros contratos inteligentes. ¡Así que sumérgete con nosotros y exploremos cómo funcionan!

Comprendiendo las Declaraciones If/Else en Solidity

 

Al igual que en otros lenguajes de programación, las declaraciones if/else en Solidity permiten a los desarrolladores controlar el flujo de su código en función de condiciones específicas. Estas condiciones son evaluadas utilizando diversos operadores de comparación, como menor que (<), mayor que (>), igual a (==), entre otros. Las declaraciones if/else ejecutan diferentes bloques de código dependiendo de si se cumplen o no las condiciones. La sintaxis básica de una declaración if/else en Solidity es la siguiente:

En esta sintaxis, “condición” representa la expresión lógica que se evalúa para determinar qué bloque de código debe ejecutarse. Podemos usar varios bloques else if para verificar condiciones adicionales, y el bloque else es opcional y se ejecuta cuando ninguna de las condiciones anteriores es verdadera.

Ejemplo de Contrato Inteligente: Explorando las Declaraciones If/Else

Para ilustrar cómo funcionan las declaraciones if/else en Solidity, analicemos el siguiente contrato inteligente de ejemplo que contiene dos funciones: foo y ternary. Veamos cada una de ellas:

Función: foo

La función foo toma un argumento x y devuelve un valor uint. Utiliza declaraciones if/else para determinar el valor de retorno adecuado en función del valor de x. Si x es menor que 10, devuelve 0. Si x está entre 10 y 20, devuelve 1. De lo contrario, devuelve 2.

Función: ternar

La función ternary también toma un argumento _x y devuelve un valor uint. Demuestra una forma alternativa de escribir declaraciones if/else utilizando el operador ternario ?. Si _x es menor que 10, devuelve 1; de lo contrario, devuelve 2.

Análisis Detallado del Contrato Inteligente

 

Ahora, profundicemos en la función foo para comprender su comportamiento y las condiciones que verifica:

La función foo toma un valor uint x como entrada y devuelve un valor uint basado en las verificaciones de condición. A continuación, desglosemos cómo funcionan las declaraciones if/else dentro de la función:

  1. Si x es menor que 10, la condición x < 10 se evalúa como verdadera y se ejecuta el bloque de código dentro de la primera declaración if. Devuelve 0 como resultado.
  1. Si la primera condición no se cumple, el control pasa a la declaración else if: else if (x < 20). Si x está entre 10 y 20 (sin incluir 20), la condición se evalúa como verdadera y se ejecuta el bloque de código correspondiente. Devuelve 1 como resultado.
  1. Si ninguna de las dos condiciones anteriores se cumple, el control llega al bloque else. Este bloque actúa como alternativa y se ejecuta si ninguna de las condiciones anteriores es verdadera. En este caso, devuelve 2 como resultado.

Mediante el uso de estas declaraciones if/else, la función foo proporciona una forma de categorizar el valor de entrada x en diferentes rangos y devuelve valores correspondientes basados en esos rangos.

¡Enhorabuena! Has aprendido a utilizar declaraciones if/else en Solidity.

Ahora estás equipado para tomar decisiones basadas en condiciones específicas dentro de tus contratos inteligentes. ¡Sigue explorando y experimentando con Solidity para crear soluciones innovadoras en la blockchain de Ethereum! Recuerda siempre compilar e implementar el contrato en una red de desarrollo de Ethereum para interactuar con él.

¡Te invito a que te unas a esta fascinante experiencia en el desarrollo de Smart Contracts en Ethereum!

Ver Video Completo

Más sobre Blockchain & Web3

You cannot copy content of this page

Scroll al inicio

Aplica para el proceso de admisión del programa master emprendimiento blockchain architecture & networks programming

¿Estas preparado para ver como tu carrera profesional se acelera más que nunca? Envíanos tus datos y agendamos tu entrevista. ¡Las plazas son muy limitadas!

Aplica para el proceso de admisión del programa MASTER INGENIERO BLOCKCHAIN FROM WEB2 TO WEB3

¿Estas preparado para ver como tu carrera profesional se acelera más que nunca? Envíanos tus datos y agendamos tu entrevista. ¡Las plazas son muy limitadas!

Próxima Promoción: Abril 2023