Cordes de rouille

Cordes de rouille
Une chaîne est définie comme une séquence de caractères Unicode qui sont codés dans un flux UTF-8 octets. Les cordes sont un concept très fondamental dans toute connaissance de programmation car ils sont une source de grands problèmes ou d'une grande productivité.

Cet article explorera comment travailler avec des chaînes dans le langage de programmation de la rouille et déterminer ce qui rend les chaînes de rouille différentes.

Cordes de rouille

Il existe deux types de chaînes de rouille:

  1. Chaînes littérales et str
  2. String Objectts (String)

String de rouille littéral

Le littéral de la chaîne de rouille est connu comme une tranche de chaîne qui fait toujours référence à une séquence de caractères UTF-8. Nous l'utilisons principalement lorsque nous connaissons la valeur de la chaîne au moment de la compilation. Il peut être utilisé comme vue dans un objet de chaîne. Les littéraux de cordes sont statiques par défaut, ce qui signifie qu'ils ne mutent pas.

Nous pouvons déclarer une corde littérale en rouille en créant une variable avec ou sans inférence de type. L'exemple suivant montre deux littéraux de cordes valides en rouille.

Soit str = "Hello World";
Laissez str: & str = "Hello World;

Les deux sont similaires, mais l'un dépeint le type tandis que l'autre ne fait pas.

Objet de corde de rouille

Un objet de chaîne fait référence à un vecteur alloué et dynamique d'octets. Comme les littéraux de chaîne, String Object n'a pas besoin d'être terminé nul. La chaîne objetée est généralement créée en convertissant une tranche de chaîne en objets de chaîne à l'aide de la méthode to_string.

Pour créer un objet de chaîne vide et grandissable, nous pouvons utiliser la nouvelle méthode comme indiqué:

Laissez mut str = string :: new ();

Une fois que vous avez une chaîne vide, vous pouvez y ajouter une valeur en utilisant la méthode Push_Str.

Str.push_str ("LinuxHint");

Pour allouer une chaîne, nous pouvons faire:

LET NAY = String :: From ("Winnie");

Pour convertir une chaîne littérale en un objet de chaîne:

Soit str = "Linuxhint".to_string ();

Indexation des chaînes

Les cordes de rouille ne prennent pas en charge l'indexation directe. Un exemple est comme indiqué:

Soit String = "LinuxHint";
println!("", string [0]);

La meilleure façon de surmonter cela est de traiter la chaîne comme une séquence d'octets individuels. Nous pouvons ensuite itérer sur les tranches comme indiqué:

Soit String = "LinuxHint";
pour C en chaîne.as_bytes ()
println!("", c);

Le code ci-dessus doit renvoyer une représentation d'octet individuel des valeurs de chaîne.

Tranchage des cordes

Vous pouvez obtenir une tranche d'une chaîne en utilisant le littéral de tranchage comme indiqué:

fn main ()
Soit String = "LinuxHint";
println!("", & string [0… 5]);

Ce qui précède doit renvoyer la chaîne disponible aux décalages spécifiés.

Linux

Concaténation des cordes

Vous pouvez concaténer un littéral de chaîne et un objet de chaîne en utilisant l'opérateur +. Un exemple est comme indiqué:

fn main ()
Laissez str1: & str = "Hello";
Soit str2: & str = "world";
Soit String = str1.to_string () + str2;
println!("", chaîne);

Gardez à l'esprit que vous ne pouvez pas concaténer les valeurs de deux et STR en utilisant l'opérateur +.

Si vous avez deux objets de chaîne, vous pouvez les concaténer tous les deux en utilisant l'opérateur comme:

fn main ()
Laissez str1 = "bonjour".to_string ();
Soit str2 = "world".to_string ();
Soit String = str1.to_string () + &str2;
println!("", chaîne);

Cela est dû à la coercition Deref qui permet à une chaîne de contraindre A & Str.

Conclusion

Dans ce guide, nous avons exploré le concept de cordes à la rouille et discuté de la façon dont nous pourrions les utiliser dans nos programmes.

Merci d'avoir lu!