Envoy-VC / 30-Days-of-Solidity
30 Days of Solidity step-by-step guide to learn Smart Contract Development.
This is Day 12
of 30
in Solidity Series
Today I Learned About Enums in Solidity.
Enums are the way of creating user-defined data types, it is usually used to provide names for integral constants which makes the contract better for maintenance and reading.
Enums restrict the variable with one of a few predefined values, these values of the enumerated list are called enums. Options are represented with integer values starting from zero, a default value can also be given for the enum. By using enums it is possible to reduce the bugs in the code.
Syntax
enum <enumerator_name> { element 1, element 2, ...., element n }
Example:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.7; contract EnumType { // Creating an enumerator enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } // Declaring variables of type enumerator Days day; // Setting a default value Days constant defaultDay = Days.Monday; // Get default Day function getDefaultDay() public pure returns (Days) { return defaultDay; } // Set day to a object from the enumerator Days function setDay() public { day = Days.Tuesday; } // get value of day function getDay() public view returns (Days) { return day; } }
Output:
When we run the getDefaultDay function, we get the default value of the enumerator.
0:uint8: 0
When we run the getDay function we get 0:uint8: 0
as we have set it to a default value of Monday.
When we run the setDay function and then run the getDay function we get 0:uint8: 1
as setDay function has set the value of day
to Tuesday.
Top comments (0)