Rust dichiara enum
Possiamo definire un enum in ruggine usando la parola chiave enum, seguito dal nome dell'enum. Creiamo quindi il corpo enum all'interno di una coppia di parentesi cure.
Il corpo enum è costituito da possibili varianti separate da virgole.
La sintassi è come mostrata:
enumenum_nameLa ruggine consiglia di utilizzare Uppercamelcasing per la denominazione delle varianti enum.
Prendiamo un caso in cui gli enum possono essere utili. Un esempio che mi viene in mente sono i tipi di carica. Esistono due tipi di carica:
Poiché può esserci solo un tipo di carica in un determinato momento, ha senso usare un enum. Un esempio è come mostrato di seguito:
enumchargeRust Initialize Enum
Una volta definito un enum, possiamo creare istanze di ciascuna delle varianti. Un esempio è come mostrato:
fnMain ()Usando enums con strutture
Un modo per espandere un enum è combinarlo con una struttura. Considera il codice di esempio seguente:
StristrymentUna volta che abbiamo una struttura, possiamo creare un'istanza della struttura e passare le proprietà dell'Enum come mostrato nell'esempio seguente:
ENUM CHARMENel codice di esempio sopra, definiamo due istanze dell'elemento struct. Passiamo quindi la proprietà di addebito come valore dall'enum di addebito.
Rust Deriva tratto
Se si tenta di stampare le istanze della struttura sopra, il compilatore restituirà un errore. Per stampare la struttura, dobbiamo "importare" il tratto del debug.
Questo viene fatto usando l'attributo Derive. Questo ci consente di ottenere varie implementazioni di tratti come:
La sintassi per derivare un tratto è come mostrato:
#[Derive (TRAIT_NAME)]Poiché dobbiamo stampare la struttura sulla console, possiamo derivare il tratto di debug come mostrato:
#[Derive (Debug)]Possiamo quindi usare questo tratto per stampare la struttura sulla console come:
println!(":#? ", Elem1);Questo dovrebbe stampare la struttura sulla console come:
È possibile controllare la documentazione Deriva nella risorsa fornita di seguito:
https: // doc.Rust-Lang.org/riferimento/attributi/deriva.html
Conclusione
In questo articolo, abbiamo esplorato come creare, utilizzare e lavorare con i tipi enum in ruggine. Abbiamo anche coperto come usare gli enum con le strutture e come trarre tratti.
Grazie per aver letto!!