Zig Academy · Pelajaran

Memasangkan Open dengan Close

Dapatkan dan lepaskan sumber daya secara simetris.

Pelajaran 4 dari 413 langkah

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. 🔐

Gratis untuk memulai

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

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