旅游网站建设设计,四川省铁路建设有限公司网站,网页设计素材网站有哪些,彩票网站制作开发文章目录变量常量#xff08;Constants#xff09;常量与不可变变量的区别变量
rust中使用let关键字定义变量#xff0c;默认情况下#xff0c;Rust 中的变量是不可变的#xff0c;除非使用 mut #xff08;mutable#xff09;关键字声明为可变变量#xff0c;变量命名…
文章目录变量常量Constants常量与不可变变量的区别变量
rust中使用let关键字定义变量默认情况下Rust 中的变量是不可变的除非使用 mut mutable关键字声明为可变变量变量命名通常所有字母小写单词之间用下划线“_”连接如file_version。 rust是强类型语言但具有自动类型推断的能力。建议声明变量明确变量类型。
let a:i32 123; // 不可变变量
// a 12; // 错误的不能给a赋值
let b 456; // 自动类型推断为i32类型
let mut c:i32 10; // 使用mut声明c为可变变量
c 789; // 可以赋值在rust中可以重复声明相同名称的变量这种叫变量遮蔽shadowing如下
let x 5;
let x 8; // 这里的x遮蔽或叫覆盖了第一个变量x可以用与之前变量相同的名字声明一个新变量第一个变量被第二个变量遮蔽了shadowed。 就是创建了一个新变量只不过名字相同。
常量Constants
在rust中声明常量使用const关键字。常量名通常为字母大写。
const VAR1:i32 3;
const VAR2:i32 5*2;常量不可以使用mut关键字。必须标注类型。可在任意作用域声明。仅可以使用常量表达式赋值。
常量与不可变变量的区别
既然不可变变量是不可变的那不就是常量吗为什么叫变量 变量和常量还是有区别的。在 Rust 中以下程序是合法的
let a 123; // 可以编译但可能有警告因为该变量没有被使用
let a 456;但是如果 a 是常量就不合法
const a: u64 123;
let a 456;这里声明了 a 为无符号 64 位整型变量如果没有声明类型a 将自动被判断为有符号 32 位整型变量这对于 a 的取值范围有很大的影响。