rust / beginner
Snippet
Verstehen von String und &str
Rust hat zwei Haupt-Zeichenketten-Typen: String für besessene, wachsende Zeichenketten und &str für geliehene Zeichenketten-Slices. String::from erstellt eine besessene Zeichenkette aus einem String-Literal. Die Verwendung von &str ist effizienter, wenn man keinen Besitz braucht.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
12
fn main() {let greeting = String::from("Hello");let slice = &greeting[..4];println!("Full: {}", greeting);println!("Slice: {}", slice);let s1 = "literal string";let s2: &str = s1;println!("s1: {}, s2: {}", s1, s2);}
Erklärung
1
let greeting = String::from("Hello");
Erstellt einen besessenen String-Typ, heap-allokiert und veränderbar
2
let slice = &greeting[..4];
Erstellt einen geliehenen &str-Slice vom String, leiht die ersten 4 Zeichen
3
let s1 = "literal string";
String-Literale sind standardmäßig &str, im Binary gespeichert
4
let s2: &str = s1;
Slices können ohne Kopieren zugewiesen werden, nur durch Leihe