Website-Suche

Meine Top 7 Funktionen in Rust


Rust stellt hilfreicherweise eine Reihe von „Prelude“-Funktionen bereit.

Ich habe jetzt ein paar Artikel über Rust geschrieben, darunter (zuletzt) Meine Top 7 Keywords in Rust, in dem ich einen Folgeartikel versprochen habe. Im Schlüsselwortartikel ging es um Schlüsselwörter aus der std-Bibliothek, und in diesem Artikel werde ich mir einige Funktionen aus dem Rust-Vorspiel ansehen.

Wenn Sie eine Datei in Rust erstellen und diese dann kompilieren, können (und müssen) Sie häufig externe Module importieren, normalerweise mit den Schlüsselwörtern use oder extern. Rust tut jedoch eine gute Sache für Sie, nämlich eine Reihe nützlicher Module zu importieren, ohne dass Sie überhaupt danach fragen. Dies wird als Standardvorspiel bezeichnet. Wie üblich gibt es in der Rust-Dokumentation gute Informationen dazu.

Hier sind einige meiner Lieblingsfunktionen aus dem Standardvorspiel: nützliche Funktionen, auf die ich immer wieder zurückkomme, und einige, die ein wenig darüber verraten, wie Rust über die Welt „denkt“.

  1. clone() – Es gibt Zeiten, in denen Sie eine Variable irgendwo verwenden müssen, wo die Rust-Regeln der Speicherverwaltung dies schwierig machen. Glücklicherweise können Sie dort, wo das Merkmal std::clone::Clone implementiert ist (was so gut wie überall vorkommt), in eine neue Variable kopieren. Tun Sie dies nicht nur, um die Speicherverwaltung von Rust zu umgehen, die Ihnen helfen soll, sondern es kann auch sehr nützlich sein, wenn Sie tatsächlich eine neue Kopie von etwas benötigen.
  2. format!() – OK, offiziell ist dies eher ein Makro als eine Funktion, aber es ist sehr nützlich. Sie kennen und verwenden wahrscheinlich println!(), das zum Drucken auf stdout verwendet wird. format!() macht so ziemlich das Gleiche für Strings, die Sie nicht sofort ausgeben möchten.
  3. is_ok() – Um ehrlich zu sein, ist dies nur ein Vorwand für mich, über std::result::Result zu sprechen, das äußerst nützlich ist und es Ihnen ermöglicht, und zu erstellen Der Zugriff führt zu Erfolg (Ok) oder Fehler (Err). Die Funktion is_ok() sagt Ihnen, ob das, was Sie erhalten, ein OK-Ergebnis ist (und denken Sie daran, dass das „k“ ein Kleinbuchstabe ist – wahrscheinlich mein häufigster Syntaxfehler beim Schreiben von Rust). Um Rust richtig zu verstehen, müssen Sie sich mit Result vertraut machen. Es wird häufig verwendet und Sie sollten es auch nutzen.
  4. is_some() – Wie Result ist std::option::Option etwas, das Sie beim Schreiben von Rust wahrscheinlich häufig verwenden werden. Da es keine Entsprechung für den in vielen anderen Sprachen verwendeten Null gibt, stellt sich die Frage, was Sie tun können, wenn kein Wert generiert wurde, der zurückgegeben werden könnte. Die Antwort ist, dass Sie eine Option verwenden können, der Sie einen None-Wert zuweisen können; In anderen Fällen können Sie einen Wert innerhalb eines Some()-Wrappers bereitstellen. Die Funktion is_some() prüft, ob ein Wert vorhanden ist. Wenn ja, können Sie mit der Funktion unwrap() darauf zugreifen (siehe unten). Gewöhnen Sie sich wie Result an die Verwendung von Option, da Sie es überall sehen werden.
  5. iter() – Viele verschiedene Sammlungen können iteriert werden, und mit der Funktion iter() können Sie sehr einfach auf alle Werte zugreifen. Möglicherweise möchten Sie manchmal die verwandten Funktionen into_iter() und iter_mut() verwenden (für veränderliche Werte, was nicht überraschend ist), iter() jedoch schon Was Sie am häufigsten verwenden werden, und Sie können alle möglichen nützlichen Funktionen damit verknüpfen.
  6. panic!() – Es gibt Zeiten, in denen Ihr Programm Eingaben erhält oder Ausgaben generiert, die es eigentlich nicht sollte. Wenn std::result::Result nicht gut genug ist und Sie Fehler nicht über Ihren Ausführungsstapel weitergeben können, da dies nicht die Art von Fehler ist, die sollte behandelt werden, können Sie mit panic!() (ein anderes Makro, wenn ich ehrlich bin) das Stoppen Ihres Programms erzwingen und eine Fehlermeldung hinzufügen, um weitere Informationen bereitzustellen.
  7. unwrap() – Wenn Sie ein std::option::Option oder ein std::result::Result haben und Sie Wenn Sie auf den Inhalt zugreifen möchten, verwenden Sie unwrap(), das bei einem Problem in Panik gerät (oder expect(), wenn Sie dies möchten). um eine bestimmte Nachricht hinzuzufügen).

Dies ist ein ziemlich einfacher Artikel, aber wenn er für Leute nützlich ist, die anfangen, sich mit Rust vertraut zu machen, dann bin ich glücklich. Ich habe vor, mich weiterhin mit einigen der grundlegenderen Sprachkomponenten in Rust und einigen grundlegenden Fallstricken zu befassen, also behalten Sie die Augen offen.

Dieser Artikel wurde ursprünglich über Alice, Eve und Bob veröffentlicht und wird mit Genehmigung des Autors nachgedruckt.

Verwandte Artikel: