变量绑定和变量之间的区别?

时间:2017-01-15 09:02:26

标签: rust nomenclature

在我使用Rust的时候,我看到有些人把它们称为变量,而其他人称它们为变量绑定 - 甚至是绑定作为引用它的简短方法。

在Rust书中,it’s stated

  

在许多语言中,变量绑定将被称为变量,但Rust的变量绑定在他们的袖子上有一些技巧。例如,let语句的左侧是'pattern',而不是变量名。

在本书后面,他们继续将变量绑定称为绑定或变量。我在 Stackoverflow 上注意到了这一点 - 似乎它们可以互换使用。

问题在于是否有时间引用绑定作为变量比后者更正确?我认为对于更正确的术语 - 变量绑定,两者都是不同的词 - 如果你按照他们的书中的话来说。我很困惑。

1 个答案:

答案 0 :(得分:1)

variable bindingstatement,它将变量绑定到名称;在声明中

let x = 1;

整个语句是变量绑定,x是变量绑定的名称。在此声明之后,您可以将x称为变量绑定(但不是变量绑定)。

你提到的片段只是强调了这样一个事实:在Rust中你可以用变量绑定做各种各样的事情,因为let语句需要进行模式匹配,例如。

let (a, b, c, s) = (1u8, 2usize, 3i32, "foo");

一次分配4个不同类型的变量。

编辑:可能有一个原因,为什么绑定是Rust的一个流行术语,即使变量是一个更为成熟的术语编程;因为在Rust中,绑定在默认情况下是不可变的,对于没有编程背景的人来说,将它们称为 variable 可能会很奇怪。