Destruktion und __del__
Räumen Sie auf, wenn die Lebensdauer eines Werts endet.
Destruktion und __del__ ist eine kostenlose Mojo Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Mojo Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Jeder Wert hat ein Ende
Wenn ein Wert nicht mehr benötigt wird, endet seine Lebensdauer und Mojo zerstört ihn. Das ist Ihre Gelegenheit, seine Ressourcen aufzuräumen. 🧹
Die Destruktor-Methode
Mojo ruft eine spezielle Methode namens __del__ auf, um einen Wert zu zerstören. Sie wird automatisch ausgeführt, wenn der Wert den Gültigkeitsbereich verlässt.
fn __del__(owned self):
passDeterminierter Zeitpunkt
Mojo zerstört Werte an einem vorhersehbaren Zeitpunkt, sobald sie zuletzt verwendet wurden. Sie müssen nicht auf einen Garbage Collector warten.
Letzte Verwendung, nicht Blockende
Mojo führt __del__ direkt nach der letzten Verwendung eines Werts aus, oft noch bevor der Block endet. Dadurch werden Ressourcen so früh wie möglich freigegeben.
Geben Sie frei, was Ihnen gehört
Wenn Ihr Typ einen Heap-Puffer enthält, geben Sie ihn in __del__ frei. So verhindern Sie, dass im Laufe der Zeit Speicher verloren geht.
Sie sind für die Bereinigung zuständig
Innerhalb von __del__ befindet sich der Wert in Ihrem Besitz, sodass Sie seine Ressourcen sicher freigeben können. Danach existiert der Wert nicht mehr.
Oft automatisch erzeugt
Bei einfachen Typen müssen Sie nichts schreiben. Mojo erzeugt einen Destruktor, der jedes Feld nacheinander bereinigt, sodass Speicherlecks vermieden werden.
Wann Sie die Methode anpassen sollten
Schreiben Sie Ihr eigenes __del__, wenn Sie eine Ressource direkt verwalten, etwa eine Speicherzuweisung oder einen Datei-Handle, der ausdrücklich freigegeben werden muss.
Genau einmal ausgeführt
Jeder Wert wird genau einmal zerstört. Verschiebungen übertragen den Besitz, sodass nur der letzte Besitzer __del__ ausführt und doppelte Freigaben vermieden werden.
Keine Verwendung nach der Zerstörung
Sobald __del__ abgeschlossen ist, garantiert Mojo, dass der Wert nicht mehr existiert. Die Besitzregeln verhindern, dass Sie auf freigegebene Daten zugreifen.
Sicherheit ohne GC
Determinierte Zerstörung gibt Ihnen die Kontrolle von C mit integrierter Sicherheit. Die Bereinigung erfolgt rechtzeitig, vorhersehbar und automatisch.
Kurze Überprüfung
Überprüfen wir die Zerstörung.
Zusammenfassung
__del__ wird ausgeführt, wenn die Lebensdauer eines Werts endet – deterministisch und genau einmal. So können Sie Ressourcen sicher und ohne GC bereinigen. 🎯
Lerne Mojo mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 30
- Lektionen
- 120
Häufig gestellte Fragen
Ist die Lektion „Destruktion und __del__“ kostenlos?
Ja — der vollständige Text von „Destruktion und __del__“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Mojo Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Mojo Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Destruktion und __del__“?
Räumen Sie auf, wenn die Lebensdauer eines Werts endet. Du übst Mojo Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Mojo Academy zu starten?
Keine Vorkenntnisse erforderlich. Mojo Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Destruktion und __del__“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Mojo Academy-Lektion Code schreiben und ausführen?
Ja. Jede Mojo Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Kopier- und Verschiebesemantik
- Die __copyinit__-Methode
- Die __moveinit__-Methode
- Destruktion und __del__