Rust 语言使用 let 关键字来声明和定义一个变量。

let 变量名=值

fn main(){
    let food = "清蒸螃蟹";  // string 字符串类型
    let price = 366;       // float 类型
    let checked = true;   // boolean 类型
    
    println!("food is:{}", food); //输出 food is:清蒸螃蟹
    println!("price is:{}", price);//输出 price is:366
    println!("checked is :{}", checked);//输出 checked is :true
}

上面的代码中,我们并没有为每一个变量指定它们的数据类型。Rust 编译器会自动从 等号 = 右边的值中推断出该变量的类型。例如 Rust 会自动将 双引号 阔起来的数据推断为 字符串,把没有小数点的数字自动推断为 整型。把 true 或 false 值推断为 布尔类型

定义变量

在计算机里硬件有内存条,当通电以后,会被加载到操作系统中,我们可以认为这是一个大酒店,但是它内部是要有房间的,每个房间都有自己的位置,有自己的名称,这样管理的好处是方便,直接,所以计算机也采用了这样的模式。

声明变量

let 变量名 = 值;           // 不指定变量类型
let 变量名:数据类型 = 值;   // 指定变量类型

变量 就是给 某一块内存地址 起名字。比如: s=内存地址 1、s2=内存地址 2 。

前面说过 变量是有数据类型的,所以 内存存储的数据也是有数据类型的

变量的命名规范

  1. 可以包含 字母数字下划线
  2. 变量名必须以 字母下划线 开头。不能以 数字 开头。
  3. 变量名是 区分大小 写的。也就是大写的 Study 和小写的 study 是两个不同的变量。
fn main() {
    let Study = "";
    print!("{}",study)
}


报错如下: print!("{}",study) ^^^^^ help: a local variable with a similar name exists (notice the capitalization): `Study`


let 关键字-不可变变量

Rust 语言中使用 let 声明的变量,在第一次赋值之后,是不可变更不可重新赋值的,变成了 只读 状态。默认情况下,Rust 语言中的变量是不可变的。

let price = 188;
price=288;
print!("{}",price);


编译器报错提示:Cannot assign twice to immutable variable [E0384]


mut 关键字-可变变量

Rust 语言提供了 mut 关键字表示 可变的。 在变量名的前面加上 mut 关键字告诉编译器这个变量是可以重新赋值的。

let mut 变量名 = 值;
let mut 变量名:数据类型 = 值;

修改上面的例子

let mut price = 188;
price=288;
print!("{}",price); //输出 288