Diziler

fn main() {
    let mut a: [i8; 10] = [42; 10];
    a[5] = 0;
    println!("a: {a:?}");
}
This slide should take about 5 minutes.
  • Bir [T; N] dizi türünün değeri , aynı T türdeki N (derleme zamanı sabiti) öğelerini/elemanlarını tutar. Dizinin uzunluğunun türünün parçası olduğuna dikkat edin, bu da [u8; 3]' ve '[u8; 4] dizilerinin iki farklı tür olarak kabul edildiği anlamına gelir. Dilimler (slices), ki çalışma zamanında belirlenen bir boyuta sahiptir, daha sonra ele alınacaktır.

  • Sınırların dışında bir dizi öğesine erişmeyi deneyin. Dizi erişimleri çalışma zamanında (runtime) kontrol edilir. Rust genellikle bu kontrolleri optimize edebilir ve emniyetsiz Rust (unsafe Rust) kullanılarak bu kontrollerden kaçınılabilir.

  • Dizilere değer atamak için değişmezleri (literals) kullanabiliriz.

  • println! makrosu ? biçim (format) parametresiyle hata ayıklama gerçekleştirimini/uyarlamasını (implementation) ister: {} varsayılan çıktıyı verir, {:?} hata ayıklama çıktısını verir. Tamsayılar (integer) ve dizeler (string) gibi türler varsayılan çıktıyı uygular (default output), ancak diziler (arrays) yalnızca hata ayıklama çıktısını (debug output) uygular. Bu, bahsi geçen kodda hata ayıklama çıktısını kullanmamız gerektiği anlamına gelir.

  • # eklemek, örneğin {a:#?}, okunması daha kolay olabilecek "güzel yazdırma (pretty printing)" biçimini (format) çağırır.