«
Rust - 变量
ljierui 发布于
2024-1-23 10:45
阅读:140
技术杂谈
1.1、变量与可变性
声明变量使用let 关键字
默认情况下,变量是不可变的
声明变量时,在变量前面加上mut,就可以使变量可变
fn main() {
// 默认数字是i32类型
let mut num = 10;
// 如果加mut情况下重新赋值会报错
num = 20;
println!("number is {}",num);
}
1.2、变量与常量
常量:常量在绑定值以后也是不可变的,但是它与不可变的变量有区别
不可以使用mut,常量永远不可变
声明常量使用const 关键字,它的类型必须被标注
常量可以在任何作用域内进行声明,包括全局作用域
常量只可以绑定到常量表达式,无法绑定到函数的调用结果或只能在运行时才能计算出的值
在程序运行期间,常量在其声明的作用域内一直有效
命名规范:Rust里常量使用全大写字母,每个单词之间用下划线分开
// 可以在任何地方声明变量
const MAX_POINIS:i32 = 100_00;
fn main() {
println!("number is {}",MAX_POINIS);
}
1.3、shadowing(隐藏)
可以使用相同的命令声明新的变量,新的变量就会shadow之前声明的同名变量
shadow和把变量标记为mut是不一样的
如果不适用let关键字,那么在重新给非mut的变量赋值会导致编译时错误
而使用let声明的同名新变量,也是不可变的
使用let声明的同名新变量,它的类型可以与之前不同
fn main() {
// 第一次声明的x
let x = 5;
// 与使用mut关键字不同,第二次声明的x是重新声明了一个新变量
let x = x+1;
let x = x*2;
// 声明不同类型的同名变量
let spaces_str = " ";
let spaces_num = spaces_str.len();
println!("number is {}",x);
}
rust语言学习