0Pricing
Zig Academy · Pelajaran

Jaminan defer

Jalankan kode saat suatu lingkup berakhir.

Jaminan defer adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.

Pembersihan yang Dapat Dipercaya

Hampir setiap program membuka sesuatu yang nantinya harus ditutup. Zig menyediakan defer agar pembersihan tidak pernah terlupakan.

Apa yang Dilakukan defer

Pernyataan defer menjadwalkan sepotong kode untuk dijalankan saat scope di sekitarnya berakhir, apa pun cara scope tersebut berakhir.

defer cleanup();

Tulis Pembersihan Segera

Gagasan utamanya: letakkan baris pembersihan di samping baris yang memperoleh sumber daya, sehingga keduanya tidak mungkin terpisah.

const file = try open();
defer file.close();

Dijalankan saat Scope Berakhir

Kode yang ditunda tidak langsung dijalankan. Kode tersebut menunggu hingga scope tempatnya berada selesai, lalu dijalankan.

{
    defer cleanup();
    work();
}

Bekerja pada Setiap Jalur Keluar

Baik scope berakhir secara normal maupun Anda mengembalikan nilai lebih awal dari tengah-tengahnya, kode yang ditunda tetap dijalankan. Tidak ada jalan untuk menghindarinya.

defer file.close();
if (bad) return error.Oops;

Error Tidak Melewatinya

Bahkan jika try di bagian berikutnya dalam fungsi mengembalikan error, defer Anda sudah dijadwalkan dan akan dijalankan saat keluar.

Pernyataan Apa Pun, Bukan Hanya Pemanggilan

defer dapat memuat satu pernyataan apa pun, termasuk sebuah blok, sehingga Anda dapat mengelompokkan beberapa langkah pembersihan.

defer {
    free(buf);
    log("done");
}

Scope di Luar Fungsi

defer terikat pada scope yang membungkusnya, yang dapat berupa isi perulangan atau blok if, bukan hanya keseluruhan fungsi.

while (more()) {
    defer step();
}

Tanpa Pelacakan Manual

Tanpa defer, Anda harus ingat untuk menutup pada setiap cabang. Dengan defer, kompilator menjalankan pembersihan Anda sehingga Anda tidak dapat melupakan suatu jalur.

Dibaca dari Atas ke Bawah

Karena pemerolehan dan pembersihan berada bersama, kode Anda terbaca sebagai alur yang jelas: buka, gunakan, dan penutupan sudah dijanjikan.

Andalan Keamanan Sumber Daya

Mulai dari file, alokasi, hingga lock, defer adalah alat sehari-hari yang menjaga program Zig bebas kebocoran dan tetap rapi.

Pemeriksaan Singkat

Kapan pernyataan yang ditunda sebenarnya dijalankan?

Ringkasan

Anda telah mengenal defer: tulis pembersihan di samping pemerolehan, dan Zig menjamin pembersihan dijalankan saat scope berakhir pada setiap jalur. 🧹

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Jaminan defer” gratis?

Ya — teks lengkap “Jaminan defer” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Jaminan defer”?

Jalankan kode saat suatu lingkup berakhir. Kamu berlatih Zig Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Zig Academy?

Tidak diperlukan pengalaman sebelumnya. Zig Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Jaminan defer” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Zig Academy ini?

Ya. Setiap pelajaran Zig Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Jaminan defer
  2. Urutan Eksekusi Beberapa defer
  3. defer vs errdefer dalam Praktik
  4. Memasangkan Open dengan Close
← Kembali ke Zig Academy