Enums restringem uma variável para ter apenas alguns valores predefinidos. Os valores nesta lista enumerada são chamados de enums.
Com o uso de enums, é possível reduzir o número de bugs em seu código.
Por exemplo, se considerarmos um aplicativo para uma loja de sucos naturais, seria possível restringir o tamanho do vidro para pequeno, médio e grande. Isso garantiria que ninguém pudesse fazer pedidos de qualquer tamanho que não fosse pequeno, médio ou grande.
Exemplo
Tente o código a seguir para entender como o enum funciona no Solidity.
pragma solidity ^0.5.0;
contract test {
enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
FreshJuiceSize choice;
FreshJuiceSize constant defaultChoice = FreshJuiceSize.MEDIUM;
function setLarge() public {
choice = FreshJuiceSize.LARGE;
}
function getChoice() public view returns (FreshJuiceSize) {
return choice;
}
function getDefaultChoice() public pure returns (uint) {
return uint(defaultChoice);
}
}
Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .
Primeiro clique setLarge Botão para definir o valor como GRANDE e clique em getChoice para obter a escolha selecionada.
Resultado
uint8: 2
Clique getDefaultChoice Botão para obter a escolha padrão.
Resultado
uint256: 1