let mut x = 5;
这里定义了一个可变变量,但是这里仅仅只是在一定规矩内的可变
什么意思呢?
-
let mut x = 5;
其实是一种省略的写法,完整的写法应该是:let mut x: i32 = 5;
-
mut
是mutable的意思,可变,但是只针对与赋值操作,也就是说x =
后面的值是可变的 - 也仅仅是这个狭隘的含义,
mut
和=
中间夹的类型是不可变的 - 举个列子
正确写法
let mut x = 5;
x = 6;
错误写法
let mut x = 5;
// 注意 字可以用单引号,字符串得用双引号
x = 'j'
- 综上,这里的可变只是类型固定下,值的可变;这非常的狭隘,限制的很窄;
- 这种在概念含义,和操作,编译等环节做严格区分申明的例子还非常的多,分的很细,很明确,很严格,这种思想贯穿整个语言的设计;这和Python为了开发的高效快捷,省事;从而在规矩和限制上非常的宽松随意形成了鲜明对比;
- 显然 rust 语言设计的更加的”精致“,很在意细节
Top comments (0)