ReferĂȘncias Exclusivas
ReferĂȘncias exclusivas, tambĂ©m conhecidas como referĂȘncias mutĂĄveis, permitem alterar o valor a que se referem. Eles tĂȘm tipo &mut T
.
fn main() { let mut point = (1, 2); let x_coord = &mut point.0; *x_coord = 20; println!("point: {point:?}"); }
This slide should take about 10 minutes.
Pontos chave:
-
"Exclusivo" significa que apenas esta referĂȘncia pode ser usada para acessar o valor. Nenhuma outra referĂȘncia (compartilhada ou exclusiva) pode existir ao mesmo tempo, e o valor referenciado nĂŁo pode ser acessado enquanto a referĂȘncia exclusiva existir. Tente fazer um
&point.0
ou alterarpoint.0
enquantox_coord
estiver ativo. -
Certifique-se de observar a diferença entre
let mut x_coord: &i32
elet rx_coord: &mut i32
. O primeiro representa uma referĂȘncia mutĂĄvel que pode ser ligada a diferentes valores, enquanto o segundo representa uma referĂȘncia exclusiva a um valor mutĂĄvel.