Destrucción y __del__
Limpie los recursos cuando termine la vida de un valor.
Destrucción y __del__ es una lección gratuita de Mojo Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Mojo Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Mojo Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Every Value Has an End
When a value is no longer needed, its life ends and Mojo destroys it. This is your chance to clean up what it owned. 🧹
The Destructor Method
Mojo calls a special method named __del__ to destroy a value. It runs automatically when the value goes out of scope.
fn __del__(owned self):
passDeterministic Timing
Mojo destroys values at a predictable point, as soon as they are last used. There is no waiting on a garbage collector.
Last Use, Not Block End
Mojo runs __del__ right after a value is last used, often before the block closes. This frees resources as early as possible.
Free What You Own
If your type holds a heap buffer, __del__ is where you release it. Doing so prevents memory from leaking over time.
You Own the Cleanup
Inside __del__ the value is owned, so you can safely tear down its resources. After this, the value no longer exists.
Often Synthesized
For simple types you write nothing. Mojo synthesizes a destructor that cleans up each field in turn, so leaks are avoided.
When to Customize It
Write your own __del__ when you manage a raw resource, like an allocation or file handle, that needs explicit release.
Runs Once, Exactly
Each value is destroyed exactly once. Moves transfer ownership so only the final holder runs __del__, avoiding double frees.
No Use After Death
Once __del__ completes, Mojo guarantees the value is gone. Its ownership rules stop you from touching freed data.
Safety Without a GC
Deterministic destruction gives you C-like control with built-in safety. Cleanup is timely, predictable, and automatic.
Quick Check
Lets check destruction.
Recap
__del__ runs when a value’s life ends, deterministically and exactly once, letting you clean up safely without a GC. 🎯
Preguntas frecuentes
¿La lección «Destrucción y __del__» es gratis?
Sí — el texto completo de «Destrucción y __del__» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Mojo Academy, actualiza a CoddyKit PRO. El curso de Mojo Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Destrucción y __del__»?
Limpie los recursos cuando termine la vida de un valor. Practicas Mojo Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Mojo Academy?
No se requiere experiencia previa. Mojo Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Destrucción y __del__»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Mojo Academy?
Sí. Cada lección de Mojo Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Semántica de copia frente a movimiento
- El método __copyinit__
- El método __moveinit__
- Destrucción y __del__