capypad
0 Tage Serie
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
rust
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.