Variables et références

En Rust, on peut posséder:

  • une instance my_cat: Cat
  • une instance mutable mut my_cat: Cat
  • une référence my_cat: &Cat
  • une référence mutable my_cat: &mut Cat
Syntaxe RustDescription
#![allow(unused)]
fn main() {
fn do_something_to(cat: Cat) {
  // ...
}
}
Je te donne mon chat. Je ne l'ai plus.

Une seule personne peut posséder le chat à la fois.

#![allow(unused)]
fn main() {
fn do_something_to(mut cat: Cat) {
  // ...
}
}
Je te donne mon chat, et tu peux immédiatement le modifier. Je ne l'ai plus.

Une seule personne peut posséder le chat à la fois.

#![allow(unused)]
fn main() {
fn observe(cat: &Cat) {
  // ...
}
}
Je te laisse regarder mon chat, mais je le garde. Tu ne peux rien lui faire, juste l'observer.

Plusieurs personnes peuvent admirer mon chat en même temps.

#![allow(unused)]
fn main() {
fn visit(cat: &mut Cat) {
  // ...
}
}
Je te laisse faire des trucs avec mon chat, mais je le garde. Tu me le rends après.

Une seule personne peut avoir le chat en même temps.