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

Difference between variable bindings and variables?

在我使用 Rust 的过程中,我看到一些人称它们为变量,而另一些人称它们为变量绑定——甚至绑定作为引用它的一种简短方式。

在 Rust 书中,it’s stated:

In many languages, a variable binding would be called a variable, but Rust’s variable bindings have a few tricks up their sleeves. For example the left-hand side of a let statement is a ‘pattern’, not a variable name.

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

问题是,有时将绑定称为变量是否比后者更正确?对于更正确的术语——变量绑定——我假设这两个词是不同的词——你应该遵循他们书中的词。我很困惑。

A variable binding is a statement 将变量绑定到名称;在声明中

let x = 1;

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

您提出的片段只是强调了一个事实,即在 Rust 中您可以使用变量绑定来做各种事情,因为 let 语句受模式匹配的影响,例如

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

一次赋值4个不同类型的变量。

Editbinding 在 Rust 中如此受欢迎可能是有原因的,尽管 variable 是编程中更为成熟的术语;由于在 Rust 中绑定默认是不可变的,对于没有编程背景的人来说,将它们称为 variables.

可能会很奇怪