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:
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";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";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";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 ()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 ()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 ()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!