Les variables statiques dans la rouille peuvent avoir un destructeur mais ce destructeur n'est jamais géré car ils ont une vie statique. Cela signifie qu'ils ne manquent jamais de portée de toute la vie du programme dans lequel ils sont déclarés.
Remarque Si une variable est déclarée statique à l'intérieur d'une fonction, la portée, ce qui signifie que l'accessibilité de la variable n'est pas affectée. Par conséquent, certaines parties du programme en dehors de la fonction ne peuvent pas accéder à sa valeur. Cependant, sa portée n'est pas abandonnée lorsque la portée de la fonction meurt.
Pour en savoir plus sur les chutes et les destructeurs dans la rouille, vérifiez notre tutoriel sur les destructeurs de la rouille.
Points à noter
Voici quelques points importants à noter lors de l'utilisation de variables statiques dans la rouille:
Les variables statiques doivent être sûres. Par conséquent, le type spécifié doit implémenter le trait de synchronisation. Définir une variable comme statique avec un type qui n'est pas sûr de thread peut conduire à des conditions de course de données.
Les variables statiques ne peuvent référer que d'autres variables statiques par référence uniquement.
Constantes ou statiques
Bien que les variables statiques ne soient pas une substitution à des variables constantes, Rust recommande de toujours favoriser les constantes à moins:
Rust Créer une variable statique
Il existe deux façons principales de créer une variable statique dans la rouille. La première consiste à créer une valeur constante avec une déclaration statique.
Un exemple de code est comme indiqué ci-dessous:
Valeur statique: i32 = 10;
La deuxième méthode pour créer une valeur statique consiste à créer un littéral de chaîne avec le type et 'statique STR. L'exemple est comme indiqué:
Laissez bonjour: & 'statique str = "Hello";
Gardez à l'esprit que le type STR en rouille est un type de littéraux de cordes définis comme `` statique STR.
Étant donné que les littéraux de cordes sont des tranches de chaîne, ils sont stockés dans le binaire final et, par conséquent, une vie statique.
Étant donné que les types de chaînes dans la rouille peuvent ne pas vivre dans la vie du programme, il n'est pas possible de convertir un type de chaîne en une chaîne statique. Cependant, vous pouvez créer une tranche de chaîne qui est statique comme le montre dans l'exemple ci-dessous:
Laissez String: String = "Hello World".to_owned ();
Soit str_slice: & str = & string […];
NOTE: Bien que vous puissiez avoir une valeur statique mutable, Rust ne peut pas prouver des références ou des races de données pendant une variable statique mutable. La rouille décourage généralement en utilisant des variables mutables statiques.
Conclusion
Ce court article tente de discuter du concept de variables statiques dans la rouille. Gardez à l'esprit que ce guide ne peut pas servir de référence à la statistique de la rouille. Vérifiez la documentation pour comprendre comment fonctionne statique dans Rust.