ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ### **变量的使用** ##### **不可变变量** 使用`let` 创建变量并赋值 5 ``` $ let x = 5 //如果再 给x赋值 6 则会报错 $ x = 6 ``` ##### **可变变量** ###### 在变量名前加上`mut`: ``` $ let mut x = 5; $ x = 6; //这样编译就不会报错了 ``` 通过`mut`,允许把绑定到`x`的值从`5`改成`6`。在一些情况下,你会想用可变变量,因为与只用不可变变量相比,它会让代码更容易编写。 ### **常量** > 不允许对常量使用`mut`。常量不光默认不能变,它总是不能变。 #### **命名规则** 声明常量使用`const`关键字而不是`let`,Rust 常量的命名规范是使用下划线分隔的大写字母单词,并且可以在数字字面值中插入下划线来提升可读性: ``` const MAX_POINTS = 100_000; ``` ### **隐藏** 文件名: src/main.rs: ``` fn main() { let x = 5; println!("The value of x is : {}", x); let x = x + 1; println!("The value of x is : {}", x); } ``` 这个程序首先将`x`绑定到值`5`上。接着通过`let x =`隐藏`x`,获取初始值并加`1`,这样`x`的值就变成`6`了。 ***** #### **隐藏与`mut`的区别** 隐藏是使用`let` 对变量进行计算重新赋值等操作,变量仍然是不变的。 ``` let spaces = " "; let spaces = spaces.len(); //第一个spaces是字符串类型,第二个spaces是数字类型,他是一个跟第一个spaces同名的崭新变量。 //而我们不需要重新取名一个变量名,前面的spaces被隐藏。 //如果使用 mut 则会报错 let mut spaces = " "; spaces = spaces.len(): //数据不能由字符串类型变成数字型。```` ``` `mut`与隐藏的另一个区别是,[隐藏]当再次使用`let`时,实际上是创建了一个新变量。我们可以改变值的类型,但复用这个名字。