<分区>
我对 Rust 很感兴趣,所以我开始阅读 Rust 网站上的 Rust 编程指南,发现变量的声明方式如下:
let x: i32 = 5;
这意味着将值整数 5 分配给变量类型整数 32 位,从这一点开始,该变量类型应由符号 x
引用。
我的主要问题是为什么 let
关键字在那里?这似乎是多余的,好像它实际上并没有“做”任何事情。
我假设编译器能够判断以下是一个变量(或 const 变量)声明:
x: i32 = 5;
似乎没有理由使用 let
关键字,但大概是 一个聪明的理由,因为 Rust 专注于安全。那是什么原因呢?
编辑:添加:作为函数参数,let 关键字不是必需的。这是一个例子:
fn add1(x: i32) -> i32
{
x = x + 1
}
这看起来有点奇怪 - 由于缺少 let
,这“看起来像”通过引用传递。但事实并非如此。这是一个值(value)传递。 (或者至少我认为是。)这是句法不一致吗?
顺便说一句,我会发现改变这个陈述并写成更合乎逻辑:
i32 x = 5;
如果你愿意,可以在其中放一个冒号:
i32: x = 5;
我想我会发现这更合乎逻辑,因为:
- 在编程时,您通常在想出数据名称之前就知道您需要什么“类型”的数据。
也许有些人认为相反?但这使我想到了另一点;如何在 Rust 中声明多个相同类型的变量?如:
let x, y, z: i32 = {4, 5, 5} // A guess of what this might look like?
或者这在 Rust 中是不允许的吗?