深圳市网站哪家做的好,ps怎么做华为网站界面,国内最最早做虚拟货币的网站,工业设计是机械类还是设计类在Rust中#xff0c;变量和可变性是两个重要的概念。
变量#xff1a;变量是用于存储数据的标识符。在Rust中#xff0c;变量需要声明其类型#xff0c;例如#xff1a;
let x: i32 5; // 声明一个名为x的变量#xff0c;类型为i32#xff08;整数#xff09;#…在Rust中变量和可变性是两个重要的概念。
变量变量是用于存储数据的标识符。在Rust中变量需要声明其类型例如
let x: i32 5; // 声明一个名为x的变量类型为i32整数值为5可变性Rust中的变量有两种可变性可变mutable和不可变immutable。默认情况下变量是不可变的这意味着一旦赋值其值就不能更改。要使变量可变需要在声明时使用mut关键字例如
let mut x: i32 5; // 声明一个名为x的可变变量类型为i32整数值为5
x 6; // 修改x的值为6需要注意的是在同一作用域内一个可变变量不能同时被多次声明为不可变。例如以下代码会导致编译错误
常量
类似于不可变变量常量 (constants) 是绑定到一个名称的不允许改变的值不过常量与变量还是有一些区别。首先不允许对常量使用 mut 。常量不光默认不可变它总是不可变。声明常量使用 const关键字而不是 let 并且 必须 注明值的类型。常量可以在任何作用域中声明包括全局作用域这在一个值需要被很多部分的代码用到时很有用。最后一个区别是常量只能被设置为常量表达式而不可以是其他任何只能在运行时计算出的值。 const FMT_DATE_TIME_YMDHMS: str yyyy-MM-dd hh:mm:ss; // 常量在声明它的作用域之中常量在整个程序生命周期中都有效此属性使得常量可以作为多处代码使用的全局范围的值例如一个游戏中所有玩家可以获取的最高分或者光速。将遍布于应用程序中的硬编码值声明为常量能帮助后来的代码维护人员了解值的意图。如果将来需要修改硬编码值也只需修改汇聚于一处的硬编码值。
作用域
使用let对变量重新计算和使用mut是有区别的当不小心尝试对变量重新赋值时如果没有使用 let关键字就会导致编译时错误。通过使用 let 我们可以用这个值进行一些计算不过计算完之后变量仍然是不可变的。
fn main() {let x 5;let x 1 x;{let x x 5;println!({},x); // 6511}println!({},x); // 6
}结果
C:/Users/tom.qu/.cargo/bin/cargo.exe run --coloralways --package rust --bin rustFinished dev [unoptimized debuginfo] target(s) in 0.00sRunning target\debug\rust.exe
11
6
mut 与覆盖的另一个区别是当再次使用 let 时实际上创建了一个新变量我们可以改变值的类型并且复用这个名字。
总结 let mut x 5; // 可变变量let y 5; // 不可变变量const FMT_DATE_TIME_YMDHMS: str yyyy-MM-dd hh:mm:ss; // 常量// 使用let可以复用变量名// 变量作用域问题