- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Rust, "tip güvenliği" (type safety) konusunda çok titiz bir dildir. Derleme aşamasında her değişkenin tipinin ne olduğu kesinlikle bilinmelidir. Çoğu zaman Rust derleyicisi yazdığınız koddan tipi tahmin eder (type inference), ancak bazen kontrolü ele alıp tipi sizin belirtmeniz gerekir.
Rust'ta veri tipleri iki ana kategoriye ayrılır: Scalar (Skaler) ve Compound (Bileşik).
} [/CODE]
Rust'ta veri tipleri iki ana kategoriye ayrılır: Scalar (Skaler) ve Compound (Bileşik).
1. Scalar (Skaler) Tipler
Scalar tipler, tek bir değeri temsil eder. Rust'ta dört temel skaler tip vardır: tam sayılar, ondalıklı sayılar, booleanlar ve karakterler.Tam Sayılar (Integers)
Tam sayılar, kesirli kısmı olmayan sayılardır. Rust, belleği verimli kullanmak için işaretli (negatif olabilir) ve işaretsiz (sadece pozitif) birçok varyasyon sunar:| Boyut | İşaretli (Signed) | İşaretsiz (Unsigned) |
| 8-bit | i8 | u8 |
| 32-bit | i32 | u32 |
| 64-bit | i64 | u64 |
| Mimari (64/32 bit) | isize | usize |
Not: Varsayılan tam sayı tipii32'dir.isizeveusizegenellikle bellek adresleme veya dizinleme işlemlerinde kullanılır.
Ondalıklı Sayılar (Floating-Point)
Rust'ta ondalıklı sayılar için iki ana tip vardır:f32 ve f64. Modern işlemcilerde f64, f32 ile neredeyse aynı hızda çalışırken daha fazla hassasiyet sunduğu için varsayılan olarak f64 kullanılır.Boolean ve Character
- Boolean: Sadece
trueveyafalsedeğerini alır. 1 byte boyutundadır. - Char: Rust'ta
chartipi 4 byte boyutundadır ve sadece ASCII değil, Unicode karakterleri de (emoji, Çince karakterler vb.) temsil edebilir.
Kod:
let emoji: char = '🚀'; let dogru_mu: bool = true;
2. Compound (Bileşik) Tipler
Bileşik tipler, birden fazla değeri tek bir grup altında toplamanıza olanak tanır. Rust'ta iki temel bileşik tip bulunur: Tuple ve Array.Tuple (Demet)
Farklı tiplerdeki verileri bir araya getirmek için kullanılır. Tuple'ların boyutu sabittir; bir kez tanımlandıktan sonra büyümez veya küçülmezler.
Kod:
fn main() { let kisi_bilgisi: (i32, f64, char) = (25, 1.85, 'E');
[CODE]// Verilere erişim:
let yas = kisi_bilgisi.0;
let boy = kisi_bilgisi.1;
// Destructuring (Parçalara ayırma)
let (x, y, z) = kisi_bilgisi;
Array (Dizi)
Diziler, aynı tipteki birden fazla veriyi toplar. Rust'ta dizilerin boyutu sabittir. Eğer boyutun değişmesini istiyorsanızVector (vektör) kullanmalısınız.
Kod:
let a: [i32; 5] = [1, 2, 3, 4, 5]; let aylar = ["Ocak", "Şubat", "Mart"];
// Tüm elemanları aynı olan dizi: let bes_tane_sifir = [0; 5]; // [0, 0, 0, 0, 0]
3. Bellek Yerleşimi: Stack ve Heap
Veri tiplerini anlamak, Rust'ın belleği nasıl yönettiğini anlamanın anahtarıdır.- Stack (Yığın): Skaler tipler ve sabit boyutlu diziler gibi boyutu derleme zamanında bilinen veriler stack'te saklanır. Bu veriler kopyalanırken çok hızlıdır.
- Heap (Öbek):
StringveyaVectorgibi boyutu çalışma zamanında değişebilen veriler heap'te saklanır. Bu verilerin yönetimi Rust'ın meşhur Ownership kurallarına tabidir.
Özet Tablosu
| Tip | Türü | Değişebilir mi? | Örnek |
i32 | Scalar | Evet (mut ile) | 42 |
char | Scalar | Evet (mut ile) | 'A' |
Tuple | Compound | Evet (Eleman bazlı) | (1, "test") |
Array | Compound | Evet (Sabit Boyut) | [1, 2, 3] |