Ich habe mit Rust an einem Haustierprojekt gespielt und als ich meinen Code namespace wollte, blieb ich eine Weile stecken und versuchte herauszufinden, wie es geht. Da ich aus Java und Ruby stammte, erwartete ich so etwas wie Pakete in Java oder Module in Ruby, aber in Rust war dies nicht der Fall. Die Dokumentation hat mir auch nicht geholfen. Es hat einige Zeit gedauert, bis ich herausgefunden habe, wie es funktioniert. Hier ist mein Verständnis von Rust-Modulen mit einfachen Beispielen (Github)
Rust erfordert, dass Benutzer ein explizites Moduldiagramm erstellen
Schlüssel ist, dass jedes Modul in der Stammdatei deklariert werden muss (main.rs in diesem Beispiel). Wenn Sie Untermodule haben, müssen diese deklariert werden mod.rs datei des übergeordneten Moduls.
Was ist mod.rs ?
Sie können Module auf zwei Arten erstellen, entweder als einzelne Datei oder als Datei innerhalb eines Ordners. Wenn Sie mit einem späteren Ansatz gehen, erwartet Rust, dass der Ordner mod.rs datei (Dateihierarchie), die Sie später in einem Beispiel sehen werden.
Da ich nach Beispielen für diese 3 Anwendungsfälle gesucht habe, dachte ich, ich könnte für dasselbe
- Einzelmodul
- Untermodule
- Verschachtelte Module
Einzelmodul
Wenn Sie ein Modul in einer einzelnen Datei haben möchten, ist es ziemlich einfach.
single_module.rs
main.rs
Beachten Sie, dass single_module in deklariert wurde main.rs im Gegensatz zu einigen anderen Sprachen, in denen wir sie importieren.
Ausgabe:
Im in single module