Skip to content

Latest commit

 

History

History
40 lines (23 loc) · 1.79 KB

12.-enums.md

File metadata and controls

40 lines (23 loc) · 1.79 KB
description
Servem para categorização de variáveis. Ao invés de gerenciarmos categorias de variáveis através de mappings usamos Enums por serem mais baratos. Veja alguns exemplos abaixo.

12. Enums

Declarando Enum

Quando declaramos um Enum estamos criando um tipo de dado, assim como string é o tipo de dado para textos, uint é o tipo de dado para inteiros e bool é o tipo verdadeiro ou falso.

Para criar tipo-categoria (Enums) declaramos primeiro seu nome e dentro de chaves os seus valores, como no exemplo abaixo.

Instanciando e Utilizando

Como todas as outras variáveis nós primeiros passamos o tipo e depois o nome. No exemplo anterior criamos o tipo STATE (upperacase) e agora iremos instancia-lo dentro da váriavel state(lowercase).

Em seguida, suponhamos que temos usuários cadastrados no sistema e um usuário será "marcado" como Ativo, para isso criamos uma função chamada setToAtivo que irá alterar a variável state para STATE.ATIVO

Outro exemplo para alterar o estado de um usuário, criamos uma condição para somente mudar um usuário para INATIVO caso ele já esteja marcado como ATIVO.

Argumento em Funções

Enums podem ser passados como argumentos para funções e assim como qualquer outro tipo de variável primeiros passamos como parâmetro o seu tipo e depois a variável que conterá o Enum.

Dentro de Structs

A essa altura você deve ter entendido que um Enum é um tipo de dado como outro qualquer então você pode utiliza-lo até mesmo dentro de Structs, Mappings ou ainda dentro de Arrays.