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 alterar point.0 enquanto x_coord estiver ativo.

  • Certifique-se de observar a diferença entre let mut x_coord: &i32 e let 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.