Rust变量绑定,可变与不可变语法
变量绑定语法
Rust中,变量绑定和其它计算机编程语言中的变量定义的概念应该是类似的,基本上也是将某个值使用某个变量代表的内存地址存储起来,或绑定到该内存地址上(个人理解,仅供参考)。
Rust中,一般使用let关键字来进行变量绑定,语法如下:
let varName : type=value; 或 let varPattern : ( typePattern ) = valuePattern;
“type”或typePattern声明的是变量的类型,可选,如果没有的话,Rust编译器也会自动进行推断。其中varPattern、typePattern,以及valuePattern的格式类似,比如(var1, var2)、(i32, i32)和(1, 2),类似于其它计算机编程语言中,比如Python中一次性定义多个变量的方法,即通过后者进行变量绑定,var1的值将被赋值为1,var2将被赋值为2。如果没有指定类型,那么“:”也不用写。
提示:通过上面语法进行绑定的变量的值是不可修改的,否则编译器可能抛出类似error: re-assignment of immutable variable的提示。
可变的变量绑定
Rust中提供了要给mut的关键字,可用在let关键字之后,用于修饰变量,如此绑定的变量是可以修改的。语法如下:
let mut varName :type = value; 注意,一般不直接在pattern中添加mut,否则编译器可能会弹出warning提示
提示:变量声明之后,应当在使用前进行赋值,否则编译器会抛出error: use of possibly uninitialized variable的提示。
变量绑定实例代码
fn main() {
let (x, y) :(i32, i32)= (1,2);
println!("x={}; y={}; ",x,y);
let mut z = 3;
println!("z={}",z);
z = 666;
println!("z={}",z);
}
代码编译运行后,得到输出:
x=1; y=2;
z=3
z=666
免责声明:内容仅供参考,不保证正确性。