Method Enum dan Bilangan Bulat Dasar
Tambahkan perilaku dan kendalikan representasi.
Method Enum dan Bilangan Bulat Dasar 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.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Enums Can Have Behavior
An enum is a real type, so it can hold methods. You declare functions inside the enum body, right next to the value names.
A Method on an Enum
Write a function inside the enum and take self as the first parameter. It works just like a method on a struct.
const Color = enum { red, green, fn isRed(self: Color) bool { return self == .red; } };Calling Enum Methods
You call a method with dot syntax on a value. The value becomes self, so the method knows which variant it was called on.
const ok = c.isRed();Every Enum Has Integer Backing
Under the hood, each enum value maps to an integer. Zig picks a small backing integer type that fits all your values.
Default Numbering Starts at Zero
By default the first value is 0 and each later value counts up by one. So red is 0, green is 1, and so on by order.
const Color = enum { red, green, blue }; // 0, 1, 2Choosing the Backing Type
You can name the backing integer in parentheses, like enum(u8). This pins the exact width and matters for layout and interop.
const Code = enum(u8) { a, b, c };Setting Explicit Values
Assign a specific number to a value with =. This is handy when the integers must match a protocol or hardware register.
const Status = enum(u8) { ok = 0, busy = 1, err = 255 };Enum to Integer
Turn an enum value into its number with @intFromEnum. This gives you the underlying integer to send or store.
const n = @intFromEnum(Status.err); // 255Integer to Enum
Go the other way with @enumFromInt to convert a number back into an enum value of the type you expect.
const s: Status = @enumFromInt(1);Convert with Care
@enumFromInt assumes the number is a valid variant. In safe builds a bad value is caught; otherwise it is your job to validate.
Methods Plus Tags Together
Combine both ideas: pick a backing type for layout, set values for a protocol, and add methods so the enum stays self-contained.
Quick Check
You have a Status enum value and need its underlying number. Which builtin?
Recap
You gave enums methods with self, chose a backing integer like enum(u8), set explicit values, and converted both ways with @intFromEnum and @enumFromInt. 🔢
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Method Enum dan Bilangan Bulat Dasar” gratis?
Ya — teks lengkap “Method Enum dan Bilangan Bulat Dasar” 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 “Method Enum dan Bilangan Bulat Dasar”?
Tambahkan perilaku dan kendalikan representasi. 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 “Method Enum dan Bilangan Bulat Dasar” 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
- Enum untuk Sekumpulan Nilai Tetap
- Union yang Menyimpan Salah Satu dari Banyak Tipe
- Union Bertanda dan switch
- Method Enum dan Bilangan Bulat Dasar