Enums In Solidity

Neste artigo, examinaremos os enums do Solidity em profundidade, explicando suas propriedades, casos de uso e como trabalhar com eles de maneira eficaz em contratos inteligentes.

Em enums, as variáveis ​​podem assumir apenas um dos valores predefinidos. Nesta lista enumerada, os valores são chamados de enums.

Enum pode ajudá-lo a minimizar o número de defeitos em seu código.

Considere, por exemplo, um aplicativo para uma loja de sucos naturais onde o tamanho do copo pode ser limitado a pequeno, médio ou grande.

Isso impediria que alguém pedisse outros tamanhos além de pequeno, médio e grande.

O exemplo dado ajudará você a entender o funcionamento das enumerações de solidity de uma maneira mais fácil:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest {
enum Juice_Glass_Sizes{SMALL,MEDIUM,LARGE}
Juice_Glass_Sizes choice;
Juice_Glass_Sizes constant DefaultChoice=Juice_Glass_Sizes.LARGE;
function set_Choice_Small() public {
choice=Juice_Glass_Sizes.SMALL;
}
function get_Choice_Small() public view returns(Juice_Glass_Sizes){
return choice;
}
function convert_choice_string_to_int() public pure returns(uint){
return uint(DefaultChoice);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>
O exemplo dado tornará mais fácil para você entender o funcionamento de enums em solidity:

Example: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract SolidityTest {
enum Sports{CRICKET,FOOTBALL,VOLLEYBALL,RUGBY,HOCKEY}
Sports selection;
Sports constant default_selection=Sports.RUGBY;
function set_Selection() public {
selection=Sports.VOLLEYBALL;
}
function get_Selection() public view returns(Sports){
return selection;
}
function get_Default_Selection() public pure returns(Sports){
return default_selection;
}
function string_to_Int_Conversion() public pure returns(uint){
return uint(default_selection);
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>

Se você encontrar dificuldade em executar o código acima, dê uma olhada nas etapas de execução do programa em nosso artigo Escrever contrato inteligente .

Se chamarmos a função get_Default_Select , obteremos:

Exemplos de Solidity Enums

Da mesma forma, a saída da função get_Selection será:

Solidity Enums exemplo 2

 

 

Conclusão

Solidity Enums fornece um recurso útil para definir tipos de dados personalizados com um conjunto limitado de valores.

Eles ajudam a tornar o código mais legível e sustentável, fornecendo uma definição clara dos valores permitidos para uma variável ou parâmetro específico.

Enums também podem ser usados ​​em conjunto com outros recursos do Solidity, como estruturas e mapeamentos, para criar estruturas de dados mais complexas.

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone