Saiten in Rost

Saiten in Rost
Eine Zeichenfolge ist definiert als eine Abfolge von Unicode-Zeichen, die in einen UTF-8-Byte-Stream codiert sind. Saiten sind ein sehr grundlegendes Konzept in jedem Programmierwissen, da sie eine Quelle großer Schwierigkeiten oder großer Produktivität sind.

In diesem Artikel wird untersucht, wie man mit Saiten in der Rost -Programmiersprache arbeitet und feststellt.

Rost -Saiten

Es gibt zwei Arten von Saiten in Rost:

  1. String -Literale & str
  2. String -Objekte (String)

Rost String wörtlich

Das Rost-String-Literal ist als eine Saitenscheibe bekannt, die immer auf eine Abfolge von UTF-8-Zeichen verweist. Wir verwenden es hauptsächlich, wenn wir den Wert der Zeichenfolge zur Kompilierungszeit kennen. Es kann als Ansicht in ein String -Objekt verwendet werden. String -Literale sind standardmäßig statisch, was bedeutet, dass sie nicht mutieren.

Wir können einen String -Literal in Rost deklarieren, indem wir eine Variable mit oder ohne Typ -Inferenz erstellen. Das folgende Beispiel zeigt zwei gültige String -Literale in Rost.

Sei Str = "Hallo Welt";
Sei Str: & str = "Hallo Welt;

Beide sind ähnlich, aber einer färbt den Typ, während der andere nicht tut.

Rost -Saitenobjekt

Ein String-Objekt bezieht. String-Literale wie String-Literale müssen die String-Objekte nicht nullterminiert werden. Die String -Einwände werden typischerweise erstellt, indem eine String -Slice mit der Methode to_string in String -Objekte konvertiert wird.

Um ein leeres und wachsbares String -Objekt zu erstellen, können wir die neue Methode wie gezeigt verwenden:

lass mut str = string :: new ();

Sobald Sie eine leere Zeichenfolge haben, können Sie mit der PUSP_STR -Methode einen Wert hinzufügen.

str.PUSP_STR ("LinuxHint");

Um eine Zeichenfolge zuzuordnen, können wir dies tun:

lass name = string :: von ("winnie");

Um ein String -Literal in ein String -Objekt umzuwandeln:

Sei Str = "LinuxHint".to_string ();

String -Indexierung

Saiten in Rost unterstützen keine direkte Indexierung. Ein Beispiel ist wie gezeigt:

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

Der beste Weg, dies zu überwinden, besteht darin, die Zeichenfolge als Folge einzelner Bytes zu behandeln. Wir können dann wie gezeigt über die Scheiben iterieren:

lass String = "LinuxHint";
für c in String.As_Bytes ()
println!("", C);

Der obige Code sollte eine einzelne Byte -Darstellung der Stringwerte zurückgeben.

Stringschneide

Sie können eine Scheibe einer Schnur mit dem Slicing Literal wie gezeigt erhalten:

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

Die oben genannte sollte die in den angegebene Offsets verfügbare Zeichenfolge zurückgeben.

Linux

String-Verkettung

Sie können einen String -Literal und ein String -Objekt mit dem + Operator verkettet. Ein Beispiel ist wie gezeigt:

fn main ()
Sei Str1: & str = "Hallo";
Sei Str2: & str = "World";
Sei String = str1.to_string () + str2;
println!("", String);

Denken Sie daran, dass Sie zwei und str -Werte mit dem + Operator nicht verkettet werden können.

Wenn Sie zwei String -Objekte haben, können Sie beide mit dem & Operator mit dem Operator verkettet werden:

fn main ()
Sei Str1 = "Hallo".to_string ();
Sei Str2 = "Welt".to_string ();
Sei String = str1.to_string () + &str2;
println!("", String);

Dies liegt an Deref -Zwang, der es einer String ermöglicht, A & Str zu zwingen.

Abschluss

In diesem Leitfaden untersuchten wir das Konzept von Rost -Saiten und diskutierten, wie wir sie in unseren Programmen verwenden können.

Danke fürs Lesen!