Tür Çıkarımı ve Açık Türler
Türü Zig'in çıkarmasına izin verin veya kendiniz belirtin.
Tür Çıkarımı ve Açık Türler, 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.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Two Ways to Type
When you bind a value, Zig can figure out the type for you, or you can spell it out. Both rely on Zig's strong, static type system.
Inference for Clear Values
If the value makes the type obvious, let Zig infer it. const name = "Ada" is clearly text, so no annotation is needed.
const name = "Ada";Annotating Explicitly
To state a type yourself, write a colon and the type after the name. This is how you pin down an exact integer width.
const age: u8 = 30;Default Integer Type
An inferred integer literal becomes a comptime_int until you use it. When it lands in a slot, Zig coerces it to the needed width.
const small = 7; // comptime_intWhen You Must Annotate
Sometimes the value alone is not enough. A var starting at 0 needs an explicit type so Zig knows whether it is a u8 or an i64.
var counter: u32 = 0;Floats Need Care Too
A bare 3.14 is a comptime_float. Annotate it to choose f32 or f64 when precision and memory size actually matter to you.
const ratio: f32 = 3.14;Inference Aids Readability
When the type is obvious from context, dropping it keeps lines clean. Annotate only when it adds real clarity or is required.
Coercion Follows the Target
Assign 5 to a u16 slot and the literal quietly fits. Zig performs safe coercion toward the declared type whenever it can.
const n: u16 = 5;Explicit at Boundaries
At function signatures and data structures, types are always explicit. Inference is a local convenience, not a way to skip declarations.
fn area(w: u32, h: u32) u32 {}No Surprising Conversions
Zig will not silently turn a float into an int for you. Mismatched types raise an error, keeping numeric behavior predictable.
A Simple Habit
Infer when the value speaks for itself; annotate when the type is the information a reader needs. Clarity should drive the choice.
Quick Check
You write var counter = 0; and Zig complains. Why does it want more from you?
Recap
You saw that Zig can infer a type from a clear value, or you can annotate one with a colon. Let clarity and required cases decide which to use. 🎯
Sıkça Sorulan Sorular
“Tür Çıkarımı ve Açık Türler” dersi ücretsiz mi?
Evet — “Tür Çıkarımı ve Açık Türler” 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.
“Tür Çıkarımı ve Açık Türler” dersinde ne öğreneceğim?
Türü Zig'in çıkarmasına izin verin veya kendiniz belirtin. 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.
“Tür Çıkarımı ve Açık Türler” 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
- Hiç Değişmeyen Değerler İçin const
- Değiştirilebilir Durum İçin var
- Tür Çıkarımı ve Açık Türler
- undefined ve Başlatılmamış Bellek