30 декабря 2015 г. 11:34
Variable Bindings(работа с переменными)
//0 - простое присваивание
let x = 5;
//1 - распаковка значений
let (x, y) = (1, 2);
//2 - обозначение типа переменной
let x: i32 = 5;
//3 - неизменяемость
//выдаст ошибку
let x = 5;
x = 10;
//4 - область видимости и замена переменных
//пример ошибочного кода, переменная на доступна вне блока
let x: i32 = 17;
{
let y: i32 = 3;
println!("The value of x is {} and value of y is {}", x, y);
}
println!("The value of x is {} and value of y is {}", x, y); // This won't work
//пример замены переменных
let x: i32 = 8;
{
println!("{}", x); // Prints "8"
let x = 12;
println!("{}", x); // Prints "12"
}
println!("{}", x); // Prints "8"
let x = 42;
println!("{}", x); // Prints "42"
//пример смены типа и изменяемости переменной
let mut x: i32 = 1;
x = 7;
let x = x; // x is now immutable and is bound to 7
let y = 4;
let y = "I can also be bound to text!"; // y is now of a different type