Inferensi Tipe vs Tipe Eksplisit
Biarkan Zig menyimpulkan tipe atau beri anotasi sendiri.
Inferensi Tipe vs Tipe Eksplisit 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 Cara Menentukan Tipe
Saat mengikat suatu nilai, Zig dapat menentukan tipenya untuk Anda, atau Anda dapat menuliskannya secara eksplisit. Keduanya mengandalkan sistem tipe Zig yang kuat dan statis.
Inferensi untuk Nilai yang Jelas
Jika nilai sudah membuat tipenya jelas, biarkan Zig menginferensikannya. const name = "Ada" jelas merupakan teks, sehingga anotasi tidak diperlukan.
const name = "Ada";Memberi Anotasi secara Eksplisit
Untuk menyatakan tipe sendiri, tulislah titik dua lalu tipe setelah nama. Inilah cara menetapkan lebar bilangan bulat yang tepat.
const age: u8 = 30;Tipe Bilangan Bulat Bawaan
Literal bilangan bulat yang diinferensikan menjadi comptime_int sampai Anda menggunakannya. Saat ditempatkan pada suatu slot, Zig mengonversinya ke lebar yang diperlukan.
const small = 7; // comptime_intSaat Anda Harus Memberi Anotasi
Terkadang nilai saja tidak cukup. Var yang dimulai dari 0 memerlukan tipe eksplisit agar Zig tahu apakah tipenya u8 atau i64.
var counter: u32 = 0;Float Juga Memerlukan Perhatian
3.14 tanpa anotasi adalah comptime_float. Beri anotasi untuk memilih f32 atau f64 saat presisi dan ukuran memori benar-benar penting bagi Anda.
const ratio: f32 = 3.14;Inferensi Membantu Keterbacaan
Saat tipe sudah jelas dari konteks, menghilangkannya membuat baris tetap rapi. Beri anotasi hanya jika benar-benar menambah kejelasan atau diwajibkan.
Koersi Mengikuti Target
Tetapkan 5 ke slot u16 dan literal tersebut akan sesuai secara otomatis. Zig melakukan koersi yang aman menuju tipe yang dideklarasikan jika memungkinkan.
const n: u16 = 5;Eksplisit pada Batas
Pada tanda tangan fungsi dan struktur data, tipe selalu eksplisit. Inferensi adalah kemudahan lokal, bukan cara untuk melewati deklarasi.
fn area(w: u32, h: u32) u32 {}Tanpa Konversi yang Mengejutkan
Zig tidak akan diam-diam mengubah float menjadi int untuk Anda. Tipe yang tidak cocok menimbulkan error, sehingga perilaku numerik tetap dapat diprediksi.
Kebiasaan Sederhana
Inferensikan saat nilai sudah menjelaskan dirinya sendiri; beri anotasi saat tipe merupakan informasi yang diperlukan pembaca. Biarkan kejelasan menentukan pilihan.
Pemeriksaan Singkat
Anda menulis var counter = 0; lalu Zig mengeluh. Mengapa Zig meminta lebih banyak informasi?
Rangkuman
Anda telah melihat bahwa Zig dapat menginferensikan tipe dari nilai yang jelas, atau Anda dapat memberi anotasi dengan titik dua. Biarkan kejelasan dan kebutuhan menentukan mana yang digunakan. 🎯
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 “Inferensi Tipe vs Tipe Eksplisit” gratis?
Ya — teks lengkap “Inferensi Tipe vs Tipe Eksplisit” 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 “Inferensi Tipe vs Tipe Eksplisit”?
Biarkan Zig menyimpulkan tipe atau beri anotasi sendiri. 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 “Inferensi Tipe vs Tipe Eksplisit” 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
- const untuk Nilai yang Tidak Pernah Berubah
- var untuk Status yang Dapat Diubah
- Inferensi Tipe vs Tipe Eksplisit
- undefined dan Memori yang Belum Diinisialisasi