Dışlayan (Exclusive) Referanslar
Değiştirilebilir referanslar (mutable reference) olarak da bilinen dışlayan (exclusive) referanslar, atıfta bulundukları (refer) değerin değiştirilmesine olanak tanır. Aynı zamanda, &mut T türüne sahiplerdir.
fn main() { let mut point = (1, 2); let x_coord = &mut point.0; *x_coord = 20; println!("point: {point:?}"); }
Anahtar noktalar:
-
“Dışlayan (exclusive)” kelimesinden kasıt, değere erişmek için yalnızca bu referansın kullanılabileceği, diğerlerinin dışlanacağıdır. Aynı anda başka hiçbir referans (paylaşılan veya dışlayan olsun farketmez) mevcut olamaz ve dışlayan referans (exclusive reference) varken atıfta bulunan değere erişilemez.
x_coordhayattayken bir&point.0oluşturmayı veyapoint.0’ı değiştirmeyi deneyin. -
let mut x_coord: &i32velet x_coord: &mut i32arasındaki farka dikkat ettiğinizden emin olun. Birincisi, farklı değerlere bağlanabilen (bind) paylaşımlı bir referanstır (shared reference), ikincisi, değiştirilebilir bir değere (mutable value) dışlayan bir referanstır (exclusive reference).