rust / intermediate
Snippet
Einfache Lifetime-Annotationen
Lifetimes stellen sicher, dass Referenzen so lange gültig bleiben, wie sie benötigt werden. Die Annotation '<'a>' teilt dem Compiler mit, dass das Struct nicht länger leben darf als die enthaltene Referenz.
snippet.rs
1
2
3
4
5
6
7
8
struct Excerpt<'a> {part: &'a str,}fn main() {let text = String::from("Rust is fast.");let first_word = Excerpt { part: &text[0..4] };}
Erklärung
1
struct Excerpt<'a> {
Definiert ein Struct mit einem Lifetime-Parameter 'a.
2
part: &'a str,
Das Feld 'part' ist eine Referenz, die mindestens so lange wie 'a leben muss.