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.