Parameter dan Nilai comptime
Teruskan nilai yang ada saat kompilasi.
Parameter dan Nilai comptime 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.
Beberapa Argumen Harus Diketahui Lebih Awal
Terkadang sebuah fungsi memerlukan argumen yang dapat dilihat compiler, bukan hanya oleh program yang sedang berjalan. Zig memungkinkan Anda menandai parameter tersebut sebagai comptime. 🧩
Menandai Parameter comptime
Tulis comptime sebelum nama parameter untuk mengharuskan nilainya diketahui pada waktu kompilasi. Pemanggil harus memberikan nilai yang sudah diketahui.
fn repeat(comptime n: usize) void {}Pemanggil Menyediakan Nilai yang Diketahui
Parameter comptime hanya menerima nilai yang sudah diketahui compiler, seperti literal atau konstanta waktu kompilasi lainnya.
repeat(3);Nilai Waktu Berjalan Ditolak
Jika Anda meneruskan nilai yang hanya diketahui saat waktu berjalan ke parameter comptime, Zig melaporkan error kompilasi yang jelas.
comptime di Dalam Body
Anda juga dapat memaksa ekspresi lokal untuk dievaluasi lebih awal. Blok comptime berjalan saat kompilasi dan menghasilkan konstanta.
const table = comptime buildTable();comptime var untuk Keadaan Waktu Kompilasi
comptime var adalah variabel yang dapat diubah dan hanya ada selama kompilasi. Gunakan untuk mengakumulasi nilai saat kode waktu kompilasi berjalan.
comptime var sum = 0;Nilai yang Diketahui Mengkhususkan Fungsi
Karena argumen comptime bersifat tetap, Zig dapat menghasilkan versi fungsi yang disesuaikan untuk nilai tersebut.
Gabungkan Parameter comptime dan Biasa
Sebuah fungsi dapat menerima kedua jenis parameter sekaligus: parameter comptime untuk bagian yang diketahui dan parameter biasa untuk data waktu berjalan.
fn scale(comptime factor: u8, x: u32) u32 {
return x * factor;
}Validasi Argumen Lebih Awal
Karena nilainya diketahui, Anda dapat memeriksanya saat kompilasi dan menghentikan build jika nilainya salah, sebelum program berjalan. ✅
Tanpa Biaya Waktu Berjalan
Pekerjaan yang digerakkan oleh parameter comptime berlangsung saat build. Biner yang dihasilkan membawa jawabannya tanpa ada yang perlu dihitung lagi.
Di Dalam Fungsi, Parameter Bersifat Konstan
Di dalam body fungsi, parameter comptime berperilaku seperti konstanta tetap, sehingga Anda dapat menggunakannya dalam ukuran array dan tempat lain yang memerlukan waktu kompilasi.
fn buffer(comptime n: usize) [n]u8 {
return undefined;
}Pemeriksaan Singkat
Sebuah fungsi mendeklarasikan parameter sebagai comptime n: usize. Nilai seperti apa yang harus diberikan pemanggil?
Ringkasan
Tandai parameter sebagai comptime untuk mengharuskan nilai waktu kompilasi. Zig kemudian dapat memvalidasinya dan mengkhususkan fungsi tanpa biaya waktu berjalan. 🎯
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Parameter dan Nilai comptime” gratis?
Ya — teks lengkap “Parameter dan Nilai comptime” 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 “Parameter dan Nilai comptime”?
Teruskan nilai yang ada saat kompilasi. 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 “Parameter dan Nilai comptime” 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
- Waktu Kompilasi vs Waktu Jalan
- Parameter dan Nilai comptime
- Tipe Adalah Nilai comptime
- inline for dan Perulangan yang Diurai