变量 Variables
常见的声明变量的表达式, 使用 let
来声明, 格式如下:
let name: type = expr;
这里, type
代表变量的类型, 大部分情况可以直接省去不写, 编译器会根据上下文自动推定.
expr
是一个表达式, 使用该表达式的值来初始化变量, 也可以省去, 在之后再初始化该变量.
#[allow(unused_variables)] fn main() { let x: i32 = 42; let is_clicked = false; let scale_factor = 1.2; let range = (1, 4); let name = "Shawn"; let c_path = c"PATH=/usr/bin:/usr/local/bin"; let char_a = 'a'; }
变量默认不可更改
这个特性跟 C/C++ 有很大的不同, 在 C/C++ 中声明的变量, 默认都是可以修改它的值的, 除非显式地声明为只读:
int x = 42;
x += 1;
assert(x == 43);
而 Rust 中的变量默认是不可更改的, 除非加上 mut
修饰符, 显式地声明为可更改的:
#![allow(unused)] fn main() { let mut x = 42; x += 1; assert_eq!(x, 43); let y = 42; // 下面的表达式会编译失败. // y += 1; }