变量
2021-05-11 22:38 作者:707才不会沉迷B站 | 我要投稿
Rust很奇怪变量默认是不可变的,是不是很矛盾,因为这是为了安全。用let关键字来定义变量
因为变量不可变,所以给x再赋值6时会报错。要想声明可变的变量,需要使用关键字mut
这样确实会安全很多,在创建变量时就会思考未来会不会变,如果变化就加上mut。如果默认是可变的变量,则本来不想修改的变量,在未来可能会一不小心改掉,那么就很危险了。
虽然变量默认是不可变的,但Rust也有常量类型,常量声明使用const,且必须指明类型
变量和常量有些区别:
常量不能使用mut关键字,并没有可变的常量
常量可以声明在任何地方,且始终都有效
常量的声明必须用常量表达式,不能用函数,在编译期就要确定他的值
变量还有一个特性就是可以覆盖
新的x变量会覆盖掉旧的x,看起来像是修改了变量值,其实是用let关键字又声明了一个同名的变量,而且变量的类型是可以修改的
这种特性即使使用mut也无法做到。