变量和可变性
变量是保存非信号数据且可变的标识符。变量使用关键字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; } }