Las enumeraciones son la forma de crear tipos de datos definidos por el usuario, generalmente se usan para proporcionar nombres para constantes integrales, lo que hace que el contrato sea mejor para el mantenimiento y la lectura. Las enumeraciones restringen la variable con uno de unos pocos valores predefinidos, estos valores de la lista enumerada se denominan enumeraciones . Las opciones se representan con valores enteros a partir de cero, también se puede dar un valor predeterminado para la enumeración. Mediante el uso de enumeraciones es posible reducir los errores en el código.
Sintaxis:
enum <enumerator_name> { element 1, element 2,....,element n }
Ejemplo: En el siguiente ejemplo, los Tipos de contrato consisten en un enumerador semana_días y las funciones se definen para establecer y obtener el valor de una variable del tipo enumerador.
Solidity
// Solidity program to demonstrate // how to use 'enumerator' pragma solidity ^0.5.0; // Creating a contract contract Types { // Creating an enumerator enum week_days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } // Declaring variables of // type enumerator week_days week; week_days choice; // Setting a default value week_days constant default_value = week_days.Sunday; // Defining a function to // set value of choice function set_value() public { choice = week_days.Thursday; } // Defining a function to // return value of choice function get_choice( ) public view returns (week_days) { return choice; } // Defining function to // return default value function getdefaultvalue( ) public pure returns(week_days) { return default_value; } }
Producción :
estructura
Structs en Solidity le permite crear tipos de datos más complicados que tienen múltiples propiedades. Puede definir su propio tipo creando una estructura .
Son útiles para agrupar datos relacionados.
Las estructuras pueden declararse fuera de un contrato e importarse en otro contrato. Generalmente, se utiliza para representar un registro. Para definir una estructura se utiliza la palabra clave struct , que crea un nuevo tipo de datos.
Sintaxis:
struct <structure_name> { <data type> variable_1; <data type> variable_2; }
Para acceder a cualquier elemento de la estructura se utiliza el ‘operador punto’, que separa la variable de estructura y el elemento al que deseamos acceder. Para definir la variable de estructura se utiliza el tipo de datos nombre de estructura.
Ejemplo: En el siguiente ejemplo, la Prueba de contrato consiste en un Libro de estructura , y las funciones se definen para establecer y obtener valores de los elementos de la estructura.
Solidity
// Solidity program to demonstrate // how to use 'structures' pragma solidity ^0.5.0; // Creating a contract contract test { // Declaring a structure struct Book { string name; string writter; uint id; bool available; } // Declaring a structure object Book book1; // Assigning values to the fields // for the structure object book2 Book book2 = Book("Building Ethereum DApps", "Roberto Infante ", 2, false); // Defining a function to set values // for the fields for structure book1 function set_book_detail() public { book1 = Book("Introducing Ethereum and Solidity", "Chris Dannen", 1, true); } // Defining function to print // book2 details function book_info( )public view returns ( string memory, string memory, uint, bool) { return(book2.name, book2.writter, book2.id, book2.available); } // Defining function to print // book1 details function get_details( ) public view returns (string memory, uint) { return (book1.name, book1.id); } }
Producción :
Publicación traducida automáticamente
Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA