References#
&T is a shared reference; &mut T is an exclusive
reference. References can never be null (use Option<&T> to
express absence).
Take a shared reference.
let n = 10;
let r: &i32 = &n;
Dereference with *.
let v = *r; // 10
Mutate through an exclusive reference.
fn inc(x: &mut i32) { *x += 1; }
References#
Option and Result for
Option<&T>(nullable references).Lifetimes for
'aannotations on references.