侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

Rust-N01:变量

barwe
2024-10-05 / 0 评论 / 0 点赞 / 166 阅读 / 531 字
温馨提示:
本文最后更新于 2024-10-05,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Immutable

Rust 变量默认是 immutable (不可变的):不能对 不可变变量 进行二次赋值

let x = 5;

结合 mut 定义 可变变量

let mut x = 5;
x = 6; // 二次赋值的类型必须与首次赋值一致

Shadowing

Rust 中的 Shadowing (部分中文文档翻译成“隐藏”) 实际上就是变量名称的再利用:

let x = 1;
println!("x={x}");
let x = x + 2;
println!("x={x}");
{
    let x = x * 2;
    println!("x={x}");
}
let x = x + 1;
println!("x={x}");

当一个变量名称(这里是 x)被多次使用时,在接下来的作用域中,后定义的变量会覆盖(遮盖、隐藏)掉先定义的变量。

每次定义的变量实际上是一个新变量,它与之前的同名变量仅仅是名字相同而已。

故再次定义时变量的类型可以发生改变,这与 可变变量 两个概念。

可变变量在二次赋值之后,变量的内存地址和类型都未发生改变,仅仅是指向内存中存的值变了。

Constant

常量值允许简单的计算表达式,在编译时它将被计算为最终的常量值:

const SECONDS_PER_HOUR = 1 * 60 * 60;
0

评论区