Ключевое слово mut
Ключевое слово mut используется при объявлении переменной
и разрешает изменять её значение после инициализации. По умолчанию
все переменные в Rust неизменяемые. Параметром ключевое слово
не является - оно ставится перед именем переменной в операторе
let, а также может использоваться в ссылках и параметрах
функций.
Синтаксис
let mut variable = value;
Пример
Давайте объявим изменяемую переменную и поменяем её значение:
fn main()
{
let mut x = 5;
println!("{}", x);
x = 10;
println!("{}", x);
}
Результат выполнения кода:
5
10
Пример
Давайте попробуем изменить переменную без ключевого слова mut.
Такой код не скомпилируется:
fn main()
{
let x = 5;
x = 10;
println!("{}", x);
}
Компилятор выдаст ошибку:
error[E0384]: cannot assign twice to immutable variable `x`
Пример
Давайте изменим элементы вектора, объявленного как изменяемый:
fn main()
{
let mut v = vec![1, 2, 3, 4, 5];
v.push(6);
println!("{:?}", v);
}
Результат выполнения кода:
[1, 2, 3, 4, 5, 6]
Пример
Давайте используем изменяемую ссылку &mut для изменения
значения через функцию:
fn change(x: &mut i32)
{
*x = 100;
}
fn main()
{
let mut x = 5;
change(&mut x);
println!("{}", x);
}
Результат выполнения кода:
100