Zig Academy · Pelajaran

Inferensi Tipe vs Tipe Eksplisit

Biarkan Zig menyimpulkan tipe atau beri anotasi sendiri.

Pelajaran 3 dari 413 langkah

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_int

Saat 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. 🎯

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 “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

  1. const untuk Nilai yang Tidak Pernah Berubah
  2. var untuk Status yang Dapat Diubah
  3. Inferensi Tipe vs Tipe Eksplisit
  4. undefined dan Memori yang Belum Diinisialisasi
← Kembali ke Zig Academy