Was bedeuten Bezeichner mit einfachem Anführungszeichen (') in Rust?
Ich habe angefangen, Rust zu lernen, und sehe oft seltsame Bezeichner im Code, die mit einem einfachen Anführungszeichen beginnen, wie `'a`, `'b` oder `'static`. Ich verstehe, dass das keine Strings oder Zeichen sind, weil sie in spitzen Klammern nach dem Funktionsnamen oder in der Definition von Structs auftauchen.
Hier ist ein Beispiel, das ich in der Dokumentation gefunden habe:
```rust
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
```
Was ist `'a`? Warum wird es benötigt? Und was bedeutet `'static`, das ich in einigen Beispielen gesehen habe? Mir scheint, dass Rust diese Bezeichnungen für etwas im Zusammenhang mit der Speicherprüfung verwendet, aber ich kann die Logik nicht verstehen. Bitte erklären Sie es einfach, wie für einen Anfänger.
<<>>
Was sind Lebensdauern (lifetimes) in Rust?
Bezeichner mit einfachem Anführungszeichen, wie 'a, 'b oder 'static, werden Lebensdauer-Annotationen (lifetime annotations) genannt. Sie beeinflussen nicht, wie lange etwas lebt,
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Gehälter von JavaScript-Entwicklern in Russland: Marktüberblick 2025
SOLID-Prinzipien in Java: Theorie und Praxis von A bis Z
Sichere Authentifizierung in Go: Code ohne Schwachstellen schreiben
Swift auf alten iOS- und macOS-Versionen: Funktioniert der Code auf OS X 10.9 und iOS 7?