Konvertierung von String zu STR in Rust

Muhammad Adil 21 Juni 2022
  1. Konzept von String in Rust
  2. Begriff str in Rust
  3. Umwandlung von String in str in Rust
  4. Unterschied zwischen str und String in Rust
Konvertierung von String zu STR in Rust

Rust ist eine Sprache, die entwickelt wurde, um robust und sicher zu sein. Es konzentriert sich auch auf die Leistung für alles von der Systemprogrammierung bis zum Scripting.

Der String-Typ in Rust ist nicht unveränderlich, aber der String-Typ hat Methoden zum Erstellen und Manipulieren von Strings. In diesem Artikel werden String und &static str im Detail besprochen.

Konzept von String in Rust

Ein String ist eine Struktur, die einen Vektor Vec enthält, ein 8-Bit-Array ohne Vorzeichen, das erweitert werden kann.

Ein String besitzt im Gegensatz zu str das Eigentum an den Daten. Daher ist es nicht unbedingt erforderlich, den &- oder Borrow-Zustand zu verwenden, wenn einer Variablen der Wert eines Strings zugewiesen wird.

Während der Initiierung kann die Größe eines Strings zur Kompilierzeit bekannt oder unbekannt sein, aber er kann sich ausdehnen, bis seine Länge an seine Grenze stößt.

Syntax:

let my_string = String::from("Hello World");

Begriff str in Rust

In Rust ist str ein primitiver Typ, der ein String-Literal definiert. Seine Informationen werden im Speicherort der Programmbinärdatei zugewiesen.

String-Slice

Ein Slice ist eine Ansicht, die eine Folge von Elementen enthält und durch die Syntax bezeichnet wird. Slices haben keinen Besitz, aber sie ermöglichen es Ihnen, auf die Reihenfolge zu verweisen, in der Elemente angezeigt werden.

Folglich ist ein String-Slice ein Verweis auf die Folge von Elementen eines Strings.

let hello_string = String::from("hello world");

let hello_slice = &hello_string[4.8];

Die Buchstaben "hello world" werden in der Variable hello_string gespeichert. Der String, ein erweiterbares Array, enthält eine Position oder einen Index für jedes Zeichen.

Zeichenfolgenliterale

Ein Zeichenfolgenliteral wird konstruiert, indem Text in doppelte Anführungszeichen gesetzt wird. Zeichenfolgenliterale sind etwas anders.

Es handelt sich um String-Slices, die auf vorab zugewiesenen Text verweisen, der als Teil der ausführbaren Datei im Nur-Lese-Speicher gespeichert ist. Mit anderen Worten, RAM wird mit unserer Software geliefert und ist nicht auf Stack-Caches angewiesen.

Umwandlung von String in str in Rust

Zeichenfolgen existieren möglicherweise nicht für die gesamte Lebensdauer Ihres Codes, was die Lebensdauer von &'static str bedeutet. Daher können Sie &'static str nicht von ihnen erhalten. Es kann nur ein durch die Lebensdauer von String festgelegtes Stück davon erhalten werden.

Beispielcode:

fn main() {
    let hello_string = String::from("Hello world");
    print_infi(&hello_string);
    print!("Adil {}", hello_string);
}
fn print_infi(infi: &str) {
    println!("Steve {} ", infi);
}

Ausgabe:

Steve Hello world
Adil Hello world

Code ausführen

Unterschied zwischen str und String in Rust

String Str
1. Veränderlich Unveränderlich
2. Zum Zeitpunkt der Kompilierung ist die Größe unbekannt. Zum Zeitpunkt der Kompilierung ist die Größe bekannt.
3. Daten werden in einem Heap gespeichert. Daten werden im Speicherort der Anwendungsbinärdatei gespeichert.
4. Um eine einzelne str-Variable zuzuweisen, verwenden Sie oder eine Referenz. Um einen String-Variablenwert zuzuweisen, müssen Sie weder verwenden noch referenzieren.
Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Verwandter Artikel - Rust String