0Pricing
Mojo Academy · Aula

Destruição e __del__

Limpe os recursos quando a vida de um valor terminar.

Destruição e __del__ é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em 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):
    pass

Deterministic 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. 🎯

Perguntas Frequentes

A aula “Destruição e __del__” é grátis?

Sim — o texto completo de “Destruição e __del__” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.

O que vou aprender em “Destruição e __del__”?

Limpe os recursos quando a vida de um valor terminar. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Mojo Academy?

Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Destruição e __del__”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Mojo Academy?

Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Semântica de cópia versus movimentação
  2. O método __copyinit__
  3. O método __moveinit__
  4. Destruição e __del__
← Voltar para Mojo Academy