Différence entre mod et use dans Rust
Rust est un langage de programmation moderne et rapide conçu pour être un langage de programmation système sûr, simultané et fonctionnel. Il a été créé par Mozilla en 2006.
Rust a trois concepts principaux : propriété, emprunt et durée de vie. Rust utilise les deux mots clés : use
et mod
.
Le mot-clé use
permet d’importer le contenu du module dans le scope courant. Cela signifie qu’il rendra toutes les fonctions du module disponibles à l’appel à partir de ce point.
mod
, d’autre part, n’importe qu’un seul élément d’un autre module dans votre portée actuelle afin qu’il puisse être appelé ou référencé selon les besoins sans se soucier de ce que quoi que ce soit d’autre dans ce module soit accessible à partir de maintenant.
Concept de use
en Rust
En poursuivant un chemin différent, use
ajoute un autre élément à l’espace de noms actuel. Un élément est un objet générique auquel vous devez accéder, tel qu’une fonction, une structure ou un trait.
Une route est une hiérarchie de modules que vous devez suivre pour l’atteindre. L’espace de noms actuel fait référence à l’introduction d’un objet dans le fichier actuel afin que vous puissiez y accéder comme s’il était local.
Caractéristiques de use
dans Rust
Rust propose un mécanisme assez dynamique pour les utilisateurs qui simplifie l’introduction de nombreux objets dans l’espace de noms existant avec un minimum d’effort.
- Vous pouvez utiliser le mot-clé
self
pour introduire le module parent universel et tout autre élément dont vous souhaitez bénéficier dans l’espace de noms. - Pour éviter les problèmes d’identité, utilisez le mot-clé
as
pour changer les choses. - Vous pouvez utiliser la syntaxe de type glob pour intégrer plusieurs objets dans l’espace de noms actuel :
use std::path::{self, Path, PathBuf};
Notion de mod
en Rust
Les modules vous permettent d’organiser votre code dans des fichiers séparés. Ils divisent votre code en morceaux logiques qui peuvent être importés et utilisés dans d’autres modules ou programmes.
En bref, mod
sert à spécifier des modules et des sous-modules afin que vous puissiez les utiliser dans votre fichier .rs
actuel, ce qui peut être compliqué. Pourquoi ne pas simplement l’utiliser ?
Un module dans Rust n’est rien de plus qu’un conteneur pour zéro ou plusieurs choses. C’est une méthode d’organisation logique des éléments afin que votre module puisse facilement traverser.
Les modules peuvent être utilisés pour créer l’arborescence d’une caisse, vous permettant de répartir votre travail sur plusieurs fichiers de manière arbitraire si nécessaire. Un seul fichier .rs
peut inclure plusieurs modules, ou un seul fichier peut contenir plusieurs modules.
Enfin, vous pouvez utiliser mod
pour regrouper les objets de manière logique. Vous pouvez construire des blocs mod
dans un seul fichier .rs
, ou vous pouvez diviser votre code source en plusieurs fichiers .rs
, utiliser mod
, et laisser Cargo générer l’arborescence de votre caisse.
Différence fondamentale entre mod
et use
dans Rust
La principale différence entre eux est que use
importe un module d’une bibliothèque externe, tandis que mod
crée un module interne qui ne peut être utilisé que dans le fichier en cours.
Examinons un exemple utilisant le mot-clé use
.
use hello::rota::function as my_function;
fn function() {
println!("demo `function()`");
}
mod hello {
pub mod rota {
pub fn function() {
println!("demo `hello::rota`");
}
}
}
fn main() {
my_function();
println!("Coming");
{
use crate::hello::rota::function;
function();
println!("Returning");
}
function();
}
Production:
demo `hello::rota`
Coming
demo `hello::rota`
Returning
demo `function()`
Cliquez ici pour vérifier la démonstration en direct du code mentionné ci-dessus.
Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.
Facebook