Variable mutability
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.
Creating a variable
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.
How can we tell the compiler that we want x to be an int?
Rust has a way of informing both the compiler...