Rost Declare Enum
Wir können einen Enum in Rost mit dem Schlüsselwort Enum definieren, gefolgt vom Namen des Enum. Wir erzeugen dann den Auflaufkörper in einem Paar lockiger Zahnspangen.
Der Auflaufkörper besteht aus möglichen Varianten, die durch Kommas getrennt sind.
Die Syntax ist wie gezeigt:
enumenum_nameDer Rost empfiehlt die Verwendung von Uppercamelcasing zur Benennung von Enum -Varianten.
Lassen Sie uns einen Fall nehmen, in dem Enums nützlich sein können. Ein Beispiel, das mir in den Sinn kommt, sind Arten von Gebühren. Es gibt zwei Arten von Gebühren:
Da es zu einem bestimmten Zeitpunkt nur eine Art von Ladung geben kann, ist es sinnvoll, einen Enum zu verwenden. Ein Beispiel ist wie unten gezeigt:
enumchargeRost initialisieren Enum
Sobald wir eine Aufzählung definiert haben, können wir Instanzen jeder der Varianten erstellen. Ein Beispiel ist wie gezeigt:
fnmain ()Verwenden von Enums mit Strukturen
Eine Möglichkeit, eine Aufzählung zu erweitern, besteht darin, ihn mit einer Struktur zu kombinieren. Betrachten Sie den folgenden Beispielcode:
StrukturSobald wir eine Struktur haben, können wir eine Instanz der Struktur erstellen und die Eigenschaften des Enum übergeben, wie im folgenden Beispiel gezeigt:
AufwandIm obigen Beispielcode definieren wir zwei Instanzen der Elementstruction. Wir geben dann die Ladungseigenschaft als Wert aus der Ladungsgebühr bestehen.
Rost ableiten Merkmal
Wenn Sie versuchen, die Instanzen der obigen Struktur zu drucken, gibt der Compiler einen Fehler zurück. Um die Struktur zu drucken, müssen wir das Debug -Merkmal „importieren“.
Dies geschieht mit dem Ableitungsattribut. Auf diese Weise können wir verschiedene Merkmale implementiert, wie z. B.:
Die Syntax, um ein Merkmal abzuleiten, ist wie gezeigt:
#[Derive (MASTRAID_NAME)]Da wir die Struktur in die Konsole ausdrucken müssen, können wir das Debug -Merkmal wie gezeigt ableiten:
#[Abgeben (Debug)]Wir können dieses Merkmal dann verwenden, um die Struktur in die Konsole zu drucken wie:
println!(":#? ", elem1);Dies sollte die Struktur in die Konsole drucken als:
Sie können die Ableitungsdokumentation in der unten angegebenen Ressource überprüfen:
https: // doc.Rost-Lang.org/referenz/Attribute/ableiten.html
Abschluss
In diesem Artikel haben wir untersucht. Wir haben auch abgedeckt, wie Sie Enums mit Strukturen verwenden und wie man Eigenschaften ableitet.
Danke fürs Lesen!!