Urutan Eksekusi Beberapa defer
Pahami mengapa kode yang ditunda berjalan terbalik.
Urutan Eksekusi Beberapa defer adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Lebih dari Satu defer
Satu scope dapat memuat beberapa pernyataan defer. Saat scope berakhir, Zig harus menentukan urutan untuk menjalankannya.
Dijalankan dalam Urutan Terbalik
Beberapa defer dijalankan dalam urutan terbalik: defer terakhir yang Anda tulis dijalankan lebih dahulu, sedangkan yang pertama ditulis dijalankan terakhir.
defer one();
defer two();Masuk Terakhir, Keluar Pertama
Ini adalah perilaku klasik LIFO, seperti pada stack. Setiap defer ditambahkan, lalu dikeluarkan dalam urutan terbalik saat pembongkaran.
Contoh Singkat
Di sini dua defer dijalankan setelah pekerjaan selesai. Hasilnya adalah dua lalu satu, karena defer yang lebih akhir dibongkar sebelum defer yang lebih awal.
defer print("one");
defer print("two");
work();Mengapa Urutan Terbalik Masuk Akal
Sumber daya biasanya bergantung pada sumber daya sebelumnya. Urutan terbalik berarti Anda melepaskan yang terbaru terlebih dahulu, sehingga tidak ada yang dibebaskan saat masih digunakan.
Mencerminkan Pemerolehan
Buka A, lalu buka B. defer terbalik akan menutup B, lalu A, sehingga persis mencerminkan cara Anda menyiapkannya.
a.open(); defer a.close();
b.open(); defer b.close();Diambil saat Penjadwalan
Setiap defer mengingat kodenya sesuai urutan, meskipun pelaksanaannya ditunda. Urutannya ditetapkan saat defer tersebut dicapai.
Dilewati jika Tidak Pernah Dicapai
Jika scope berakhir sebelum baris defer tercapai, defer tersebut tidak pernah dijadwalkan, sehingga sama sekali tidak dijalankan.
if (early) return;
defer late();Stack per Scope
Setiap scope memiliki stack defer sendiri. Scope bagian dalam membongkar defer-nya sebelum scope luar membongkar defer miliknya.
Pembongkaran yang Dapat Diprediksi
Mengetahui aturan urutan terbalik memungkinkan Anda menalar pembersihan dengan tepat, sehingga urutan pembongkaran tidak pernah mengejutkan.
Model Mental yang Berguna
Bayangkan tumpukan piring: Anda menambahkannya dari atas ke bawah, tetapi harus mengambilnya dari atas, dengan mengambil yang terakhir terlebih dahulu.
Pemeriksaan Singkat
Ada dua defer, satu lalu dua. Bagaimana urutan pelaksanaannya?
Ringkasan
Beberapa defer dibongkar dalam urutan terbalik, seperti stack, sehingga sumber daya terbaru dilepaskan lebih dahulu dan pembersihan mencerminkan penyiapan. 🔁
Belajar Zig dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Urutan Eksekusi Beberapa defer” gratis?
Ya — teks lengkap “Urutan Eksekusi Beberapa 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 “Urutan Eksekusi Beberapa defer”?
Pahami mengapa kode yang ditunda berjalan terbalik. 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 2 dari 4.
Berapa lama pelajaran “Urutan Eksekusi Beberapa 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
- Jaminan defer
- Urutan Eksekusi Beberapa defer
- defer vs errdefer dalam Praktik
- Memasangkan Open dengan Close