Memasangkan Open dengan Close
Dapatkan dan lepaskan sumber daya secara simetris.
Memasangkan Open dengan Close adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 4 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.
Setiap Pembukaan Memerlukan Penutupan
Sumber daya hadir berpasangan: open dan close, alloc dan free, lock dan unlock. Keterampilannya adalah menjaga setiap pasangan tetap seimbang.
Pasangkan di Tempat
Kebiasaan dalam Zig adalah menulis close segera setelah open, menggunakan defer, sehingga pasangan tersebut tidak pernah terpisah.
const f = try open();
defer f.close();Alokasikan, Lalu Tunda Free
Irama yang sama berlaku untuk memori. Tepat setelah Anda mengalokasikan, jadwalkan free agar penyangga dilepaskan saat keluar.
const buf = try a.alloc(u8, 64);
defer a.free(buf);Lock Mendapat Unlock
Mutex mengikuti pola yang sama. Dapatkan lock, lalu tunda unlock agar lock selalu dilepaskan meskipun Anda mengembalikan nilai lebih awal.
mutex.lock();
defer mutex.unlock();Pola Ini Dapat Diperluas
Buka beberapa hal dan masing-masing mendapat defer sendiri. Urutan terbalik memastikan semuanya ditutup dalam urutan yang tepat secara otomatis.
Lindungi Nilai yang Dikembalikan
Saat fungsi membuat dan mengembalikan sumber daya, gunakan errdefer untuk free, sehingga sumber daya tetap ada saat berhasil tetapi dibersihkan saat error.
const node = try a.create(Node);
errdefer a.destroy(node);Tanpa Sumber Daya Yatim
Karena close berada bersama open, pemfaktoran ulang atau penambahan cabang tidak pernah meninggalkan sumber daya yang terlantar dan bocor.
Mudah Diaudit
Peninjau dapat memeriksa setiap open dan segera menemukan defer yang cocok. Pembersihan yang hilang menjadi jelas dalam sekejap.
Tujuannya adalah Simetri
Anggaplah ini sebagai simetri: setiap baris pemerolehan memiliki baris pelepasan di dekatnya, dan defer menjaga keduanya tetap seirama.
Resep yang Dapat Digunakan Ulang
Dapatkan, lalu tunda pelepasan, kemudian gunakan. Resep tiga langkah ini mencakup file, memori, lock, dan hampir semua sumber daya yang Anda temui.
Kepercayaan Diri dalam Tekanan
Dengan pemerolehan dan pelepasan yang berpasangan, Anda dapat menambahkan pengembalian lebih awal dan penanganan error secara bebas, dengan percaya bahwa pembersihan tetap benar.
Pemeriksaan Singkat
Di mana close yang cocok biasanya harus ditempatkan?
Ringkasan
Pasangkan setiap open dengan defer close pada baris berikutnya. Simetri ini menjaga file, memori, dan lock tetap seimbang pada semua jalur. 🔐
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 “Memasangkan Open dengan Close” gratis?
Ya — teks lengkap “Memasangkan Open dengan Close” 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 “Memasangkan Open dengan Close”?
Dapatkan dan lepaskan sumber daya secara simetris. 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 4 dari 4.
Berapa lama pelajaran “Memasangkan Open dengan Close” 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