Konvertierung von String zu STR in Rust
- Konzept von String in Rust
-
Begriff
str
in Rust -
Umwandlung von String in
str
in Rust -
Unterschied zwischen
str
und String 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
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 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