Une chaîne est définie comme une séquence de caractères Unicode qui sont codés dans le flux UTF-8 octets. Les cordes sont un concept 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:
String de rouille littéral
Le littéral de la chaîne de rouille est une tranche de cordes 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 ajouter une valeur en utilisant la méthode Push_Str.
Str.push_str ("LinuxHint");Pour allouer une chaîne, nous pouvons effectuer ce qui suit:
LET NAY = String :: From ("Winnie");Pour convertir une chaîne littérale en un objet de chaîne, nous pouvons effectuer ce qui suit:
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. Ensuite, nous pouvons itérer les tranches comme indiqué:
Soit String = "LinuxHint";Le code précédent 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é ci-dessous:
fn main ()L'exemple précédent doit renvoyer la chaîne disponible aux décalages spécifiés:
LinuxConcaténation des cordes
Vous pouvez concaténer un littéral de chaîne et un objet de chaîne en utilisant l'opérateur +. L'exemple suivant est fourni ci-dessous:
fn main ()Note: 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 les deux en utilisant l'opérateur comme suit:
fn main ()Cela est dû à la coercition deref qui permet à une chaîne de se contraindre à A & Str.
Conclusion
Dans ce guide, nous avons exploré le concept de chaînes dans le langage de programmation de la rouille et avons discuté de la façon dont nous pourrions les utiliser dans nos programmes. Nous avons mis en évidence les deux différents types de chaînes qui sont les littéraux de chaîne et les objets de chaîne et les objets de chaîne. De plus, nous avons discuté des différentes méthodes pour allouer une chaîne. Nous espérons que vous avez trouvé cet article utile. Vérifiez les autres articles sur les indices Linux pour plus de conseils et d'informations.