Zig Academy · Pelajaran

Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi

Pelajari janji design yang mendefinisikan Zig.

Pelajaran 3 dari 413 langkah

Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 3 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.

Dua Janji Terkenal

Zig dikenal karena dua aturan: tidak ada alur kontrol tersembunyi dan tidak ada alokasi tersembunyi. Bersama-sama, keduanya membuat kode mudah dibaca dan dipercaya.

Arti Alur Kontrol

Alur kontrol adalah urutan eksekusi kode Anda. Alur kontrol tersembunyi terjadi ketika pemanggilan berlangsung tanpa terlihat di halaman, sehingga mengejutkan Anda kemudian.

Tidak Ada Pemanggilan Fungsi yang Mengejutkan

Zig tidak memiliki penggantian beban operator dan destruktor tersembunyi. Jika sebuah fungsi dijalankan, Anda dapat melihat pemanggilannya langsung di kode sumber.

Kegagalan Terlihat

Tidak ada pengecualian yang melompat-lompat di seluruh program Anda. Untuk mengabaikan atau meneruskan kegagalan, Anda menulis try atau catch, sehingga jalur galat menjadi eksplisit.

const data = try readFile(path);

Arti Alokasi

Sebuah alokasi mencadangkan memori untuk data Anda saat program berjalan. Alokasi tersembunyi adalah alokasi yang dilakukan bahasa untuk Anda secara diam-diam di balik pemanggilan sederhana.

Pengalokasi Diteruskan

Dalam Zig, kode yang memerlukan memori heap menerima pengalokasi sebagai parameter. Jika sebuah fungsi dapat mengalokasikan memori, tanda tangannya menyatakannya dengan jelas.

fn loadConfig(allocator: std.mem.Allocator) !Config {
    // ...
}

Anda Memilih Strateginya

Karena Anda meneruskan pengalokasi, Anda menentukan dari mana memori berasal: pengalokasi dengan pemeriksaan debug, arena, atau buffer tumpukan berukuran tetap.

Mengapa Ini Membantu Anda

Alokasi yang terlihat membuat biaya memori menjadi jelas, yang sangat berharga untuk penyetelan kinerja dan untuk target tertanam yang sama sekali tidak memiliki heap.

Membaca Lebih Baik daripada Menebak

Aturan-aturan ini berarti Anda memahami kode dengan membacanya, bukan dengan menghafal mekanisme tersembunyi. Apa yang Anda lihat adalah apa yang dijalankan.

defer Membuat Pembersihan Jelas

Pembersihan juga bersifat eksplisit. Pernyataan defer menjadwalkan kode untuk dijalankan ketika cakupan berakhir, sehingga pembebasan memori berada tepat di samping alokasinya.

const buf = try allocator.alloc(u8, 64);
defer allocator.free(buf);

Kompromi: Lebih Banyak Pengetikan

Biaya sebenarnya adalah sedikit lebih banyak pengetikan: Anda meneruskan pengalokasi melalui kode. Sebagai gantinya, Anda mendapatkan kejelasan dan kendali penuh.

Pemeriksaan Singkat

Bagaimana Anda mengetahui bahwa sebuah fungsi Zig mungkin mengalokasikan memori?

Ringkasan

Tidak adanya alur kontrol tersembunyi dan alokasi tersembunyi berarti kegagalan serta memori selalu terlihat. Anda membaca kode dan mengetahui persis apa yang terjadi. ✨

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 “Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi” gratis?

Ya — teks lengkap “Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi” 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 “Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi”?

Pelajari janji design yang mendefinisikan Zig. 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 3 dari 4.

Berapa lama pelajaran “Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi” 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. Masalah Apa yang Diselesaikan Zig?
  2. Zig vs C, Rust, dan Go
  3. Tanpa Alur Kontrol Tersembunyi, Tanpa Alokasi Tersembunyi
  4. Hal yang Dapat Anda Bangun dengan Zig
← Kembali ke Zig Academy