Rust 新手编程/变量
如果我们不想将计算放在 println!() 行内呢?
为了解决这个问题,我们可以使用变量。变量允许你存储值以便以后使用。
以下是一个示例
let number = 5;
首先,'let' 是一个特殊的关键字,表示这是一个变量。'number' 是变量的名称,以便我们以后可以引用它。'=' 表示我们正在将值赋予变量。数字 5 是我们赋予的值。这意味着以后当我们输入 'number' 时,它将引用数字 5。分号 ; 与之前一样,表示行尾。
例如
let number = 5;
println!("{}", number);
将打印我们放入 'number' 中的数字 5。
为什么这很好呢?
这样做的优点是我们现在将值分开了,更容易更改。因此,我们可以将代码行更改为
let number = 5 + 4;
println() 行将打印 number 的新值,即 9。
Rust 中一个有趣的事情是变量默认情况下是不可变的。这意味着它们在创建后不能更改。但是,你可以使用 'mut' 关键字将变量设置为可变的(可更改)。
let mut number = 5;
number = 8;
println!("{}", number);
这将打印出值 8,因为它覆盖了值 5,事实上,值 5 在这里根本不起作用。如果你运行这段代码,编译器会告诉你 'warning: value assigned to `number` is never read',因为它非常聪明,但也非常挑剔,会检查代码中是否有奇怪的东西。
如果你想先声明变量,然后再赋予值,你可以这样做
let number;
number = 8;
println!("{}", number);
请注意,number 不再需要 'mut',因为它只被赋予了一个值,所以它没有被更改。但是,你不能在设置值之前使用它。例如,
let number;
println!("{}", number);
number = 8;
当你运行 'cargo run' 时,这会给你一个错误,因为编译器会发现 number 在你尝试打印它时没有值。
以下是你可以对更改变量进行的一些操作
你可以按顺序进行数学运算
let mut x = 10;
x = x * x;
x = x + 5;
println!("{}", x);
这里我们有一个名为 'x' 的变量。它更短、更容易输入,但描述性较差,因此可能无法告诉你或其他人稍后这个数字的用途。还要注意,我们在每次设置 x 的下一个值时都使用 x 的最后值。这计算 x2 + 5,其中 x = 10,结果为 105。你可以更改 x 的值,它将对不同的 x 值计算相同的公式。
最后一件事:x = x * number 或 x = x + number 是很常见的操作,所以有一种简短的方法
let mut x = 10;
x *= x;
x += 5;
println!("{}", x);
这个程序执行相同的事情。对于基本运算,你可以将它们与 '=' 一起使用来简化。