Rust declare enum
Podemos definir uma enumeração em ferrugem usando a palavra -chave Enum, seguida pelo nome da enumeração. Em seguida, criamos o corpo da enumeração dentro de um par de aparelhos encaracolados.
O corpo enum é composto de possíveis variantes separadas por vírgulas.
A sintaxe é como mostrado:
enumenum_nameA ferrugem recomenda usar o uppercamelcasing para nomear variantes de enum.
Vamos tomar um caso em que as enumes podem ser úteis. Um exemplo que vem à mente são tipos de carga. Existem dois tipos de carga:
Como só pode haver um tipo de carga em um determinado momento, faz sentido usar um enum. Um exemplo é como mostrado abaixo:
enumchargeRUST Inicialize enum
Depois de definirmos uma enumeração, podemos criar instâncias de cada uma das variantes. Um exemplo é como mostrado:
fnmain ()Usando enums com estruturas
Uma maneira de expandir uma enumeração é combiná -la com uma estrutura. Considere o código de exemplo abaixo:
EstruturaDepois de termos uma estrutura, podemos criar uma instância da estrutura e passar as propriedades da enumeração, como mostrado no exemplo abaixo:
carga enumNo código de exemplo acima, definimos duas instâncias da estrutura do elemento. Em seguida, passamos a propriedade de carga como um valor da enumeração de carga.
Traços derivados de ferrugem
Se você tentar imprimir as instâncias da estrutura acima, o compilador retornará um erro. Para imprimir a estrutura, precisamos "importar" o traço de depuração.
Isso é feito usando o atributo derivado. Isso nos permite obter várias implementações de características, como:
A sintaxe para derivar uma característica é como mostrado:
#[deriva (trait_name)]Como precisamos imprimir a estrutura no console, podemos derivar o traço de depuração como mostrado:
#[Derive (Debug)]Podemos então usar esta característica para imprimir a estrutura no console como:
println!(":#? ", elem1);Isso deve imprimir a estrutura do console como:
Você pode verificar a documentação derivada no recurso fornecido abaixo:
https: // doc.Ferrute.org/referência/atributos/derivar.html
Conclusão
Neste artigo, exploramos como criar, usar e trabalhar com tipos de enum em ferrugem. Também abordamos como usar enums com estruturas e como derivar características.
Obrigado pela leitura!!