Unlike many other languages, Rust defaults to non-mutability of variables. That means that variable bindings are actually constants if not explicitly defined as mutable. The compiler checks against all variable mutations and refuses to accept mutating non-mutable variable bindings.
Note
If you come from one of the C family of languages, a non-mutable can be considered to be roughly the same as a const
type.
To create a new variable binding in Rust, we use the following form:
let x = 1;
This means that we create a new variable binding called x
whose content will be 1
. The default type for numbers depends on the situation a bit, but usually it's a 32-bit signed integer. If we need a variable that can change, we use this form:
let mut x = 1;
By default, all variables in Rust are non-mutable; therefore, we have to explicitly define a variable as being mutable.