Utilisez l'esperluette dans Rust
Rust est un langage de programmation système qui met l’accent sur la sécurité et la rapidité. Le compilateur détecte les erreurs courantes dans le code, ce qui signifie qu’il y a moins de temps de débogage et moins de problèmes de sécurité.
En plus de ces fonctionnalités, Rust possède une fonctionnalité d’esperluette (&
) qui peut rendre toute variable modifiable ou immuable à tout moment dans le code.
Utilisez l’esperluette (&
) pour rendre une variable mutable ou immuable dans Rust
Lorsque vous utilisez le signe esperluette (&
), il se convertit en référence. L’idée cruciale ici est que si nous envoyons une variable de référence comme argument à une fonction, cette fonction prendra un argument de référence.
Vous remarquerez une erreur de compilation si vous n’utilisez pas d’esperluette (&
).
Concept de mutabilité
Dans Rust, l’esperluette (&
) désigne une référence immuable, et l’esperluette mutable (&mut)
indique une référence mutable.
Le concept de mutabilité dans Rust est très important à comprendre lors de l’utilisation de références. De nombreuses garanties de sécurité de Rust sont basées sur cette distinction entre références mutables et immuables.
L’esperluette mutable peut être mutée et réaffectée sans qu’il soit nécessaire d’utiliser des pointeurs ou des références. Cela fournit un moyen plus efficace de gérer la mutation car cela élimine le besoin de nombreuses copies et déplacements explicites.
Discutons d’un exemple.
fn main() {
let mut x = 6;
{
let y = &mut x;
*y -=2;
}
println!("A number is {}", x);
}
Production:
A number is 4
Si nous n’appliquions pas mut
dans l’exemple ci-dessus, la ligne suivante échouerait à s’exécuter. Et si on n’a pas utilisé le mot clé mut
pour construire une variable au départ, le programme donnera une exception.
Nous essayions d’obtenir une référence variable à partir d’une variable immuable.
Il y a aussi un facteur essentiel à prendre en compte : vous ne pouvez avoir qu’une seule référence modifiable. Par conséquent, vous ne pouvez pas construire de nombreuses références mutables.
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