Zig Academy · Ders

Etiketli Birleşimler ve switch

Birleşim çeşitleri üzerinde kalıp eşleştirmesi yapın.

3. ders / 413 adım

Etiketli Birleşimler ve switch, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.

Varyantı Hatırlama

Basit bir union hangi alanın etkin olduğunu unutur. Etiketli union, değeri mevcut varyantı kaydeden bir enum etiketiyle eşleştirir.

Etiketli Union Tanımlama

Eşleşen etiketi Zig'in otomatik olarak oluşturmasını sağlamak için union(enum) yazarsınız; her alan için bir etiket adı oluşturulur.

const Value = union(enum) { int: i64, text: []const u8 };

Etiket Alanı Takip Eder

Artık değer kendi etiketini, örneğin .int veya .text değerini taşır. Union, o anda hangi varyantı tuttuğunu her zaman bilir.

var v = Value{ .int = 7 };

Varyantlar Üzerinde switch Kullanma

Varyanta göre dallanmak için etiketli bir union üzerinde switch kullanın. Her durum bir etiketi adlandırır ve değerin o biçimini ele alır.

switch (v) { .int => {}, .text => {} }

Yükü Yakalama

Etkin alanın içindeki değeri almak için dikey çubuklarla bir yakalama ekleyin; böylece değer o dal içinde kullanıma hazır olur.

switch (v) { .int => |n| useInt(n), .text => |s| useText(s) }

Tüm Durumları Ele Alma Zorunludur

Zig her varyantın ele alınmasını gerektirir. Bir durumu unutursanız derleyici sizi durdurur; böylece hiçbirini sessizce atlamazsınız.

else Dalı

Kalanları tek bir yerde ele almak istediğinizde, açıkça listelemediğiniz tüm varyantları kapsamak için bir else dalı ekleyin.

switch (v) { .int => |n| useInt(n), else => {} }

switch Bir İfadedir

Bir switch değer üretebilir; bu nedenle her dal bir şey döndürür. Tüm switch ifadesini tek adımda bir değişkene atayabilirsiniz.

const kind = switch (v) { .int => 1, .text => 2 };

Yakalama Üzerinden Değiştirme

Yükü union'dan kopyalayarak çıkarmak yerine yerinde değiştirmek istediğinizde |*field| ile işaretçi üzerinden yakalayın.

switch (v) { .int => |*n| n.* += 1, else => {} }

Tür Güvenli Bir Toplam Tür

Etiketli union'lar Zig'in güvenli toplam türleridir: tek değer, birçok biçim ve derleyicinin tamamen ele aldığınızı kanıtladığı bir switch.

Ayrıştırıcılar ve Durumlar İçin İdeal

Bu örüntü belirteçlere, AST düğümlerine ve durum makinelerine çok uygundur: her durumu bir kez modelleyin ve mantığı yönlendirmesi için switch'e bırakın.

Hızlı Kontrol

union(enum) yazmak, basit bir union'a göre size ne sağlar?

Özet

Etiketli union'larla tanıştınız: union(enum) etkin varyantı takip eder. Üzerinde switch kullanın, yükleri çubuklarla yakalayın ve her durumun derleyici tarafından zorunlu tutulmasını sağlayın. 🧩

Başlamak ücretsiz

Yapay zeka eğitmeniyle Zig öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Etiketli Birleşimler ve switch” dersi ücretsiz mi?

Evet — “Etiketli Birleşimler ve switch” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.

“Etiketli Birleşimler ve switch” dersinde ne öğreneceğim?

Birleşim çeşitleri üzerinde kalıp eşleştirmesi yapın. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Zig Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Etiketli Birleşimler ve switch” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sabit Değer Kümesi İçin Enum'lar
  2. Birden Çok Türden Birini Tutan Birleşimler
  3. Etiketli Birleşimler ve switch
  4. Enum Yöntemleri ve Arka Plandaki Tam Sayılar
← Zig Academy Sayfasına Dön