变量和可变性

变量是保存非信号数据且可变的标识符。变量使用关键字var声明,如下所示:

#![allow(unused)]
fn main() {
var x;
}

当它们用于构建约束时,它们保存字段的数值或算术表达式(请参阅约束生成)。它们可以使用变量标识符来命名,也可以存储在数组中。

变量赋值是使用=。声明还可以包括初始化,如以下示例所示:

#![allow(unused)]
fn main() {
var x;
x = 234556;
var y = 0;
var z[3] = [1,2,3];
}

赋值是一个语句,不返回任何值,因此它不能成为表达式的一部分,这避免了误导性使用=。任何在表达式内部的使用=都会导致编译错误。

下面的两个例子会导致编译错误:

#![allow(unused)]
fn main() {
a = (b = 3) + 2;

}
#![allow(unused)]
fn main() {
var x;
if (x = 3) {
   var y = 0;
}
}