Tür Çıkarımı
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 12 / 75.
Rust'ta, tip çıkarımı (type inference) derleyicinin bir değişkenin tipini değerine ve kullanımına göre otomatik olarak saptamasını sağlar. Bu, bir değişkeni tanımlarken genellikle tipi açıkça belirtmenize gerek olmadığı anlamına gelir, böylece kodunuz daha özlü ve okunması daha kolay olur.
Örneğin:
let x = 5;
// Rust, x'in bir i32 olduğunu çıkarır
let y = 3.14;
// Rust, y'nin bir f64 olduğunu çıkarır
let message = "Hello, world!";
// Rust, message'ın bir &str (string) olduğunu çıkarır
let is_true = true;
// Rust, is_true'nun bir bool olduğunu çıkarırBu örneklerde x, y, message ve is_true türlerini belirtmedik. Rust derleyicisi, onlara atanan değerlere dayanarak türlerini otomatik olarak çıkardı.
Tür çıkarımı sadece kolaylık sağlamakla kalmaz, aynı zamanda hataların önlenmesine de yardımcı olur. Derleyici, değişkenlerin nasıl kullanıldığını kontrol eder ve çıkarılan türlerin kod boyunca tutarlı olmasını sağlar. Bir çelişki olması durumunda, derleyici bir hata oluşturacaktır.
Görev
BaşlangıçTip çıkarımını (type inference) gösteren bir Rust programı yazın. Aşağıdaki değişkenleri açık tür belirtimleri (explicit type annotations) olmadan tanımlayın ve başlatın:
10değerine sahipquantityadında bir değişken.99.99değerine sahippriceadında bir değişken."Coddy is awesome!"değerine sahipmessageadında bir değişken.truedeğerine sahipis_availableadında bir değişken.
Bu değişkenleri tanımladıktan sonra, değerlerini konsola yazdırmak için println!() kullanın. Rust'ın bu değişkenlerin türlerini değerlerine göre nasıl çıkardığını (infer) gözlemleyin.
Kopya kağıdı
Rust'ın tür çıkarımı (type inference), derleyicinin değişken türlerini değerlerine göre otomatik olarak belirlemesine olanak tanıyarak birçok durumda açık tür belirtme ihtiyacını ortadan kaldırır.
let x = 5; // Rust i32 çıkarımı yapar
let y = 3.14; // Rust f64 çıkarımı yapar
let message = "Hello, world!"; // Rust &str çıkarımı yapar
let is_true = true; // Rust bool çıkarımı yaparDerleyici, tür tutarlılığını sağlamak için değişken kullanımını kontrol eder ve çakışma olması durumunda hatalar oluşturur.
Kendin dene
fn main() {
// Değişkenleri burada tanımlayın
// Değerleri yazdır
println!("Quantity: {}", quantity);
println!("Price: {}", price);
println!("Message: {}", message);
println!("Is available: {}", is_available);
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Fundamentals bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik Girdi