DEV Community

drake
drake

Posted on

Rust贯穿整个语言的”严格区分“思想

let mut x = 5; 这里定义了一个可变变量,但是这里仅仅只是在一定规矩内的可变


什么意思呢?


  • let mut x = 5;其实是一种省略的写法,完整的写法应该是:let mut x: i32 = 5;
  • mut 是mutable的意思,可变,但是只针对与赋值操作,也就是说x =后面的值是可变的
  • 也仅仅是这个狭隘的含义,mut=中间夹的类型是不可变的
  • 举个列子

正确写法

let mut x = 5;
x = 6;
Enter fullscreen mode Exit fullscreen mode

错误写法

let mut x = 5;
// 注意 字可以用单引号,字符串得用双引号
x = 'j'
Enter fullscreen mode Exit fullscreen mode
  • 综上,这里的可变只是类型固定下,值的可变;这非常的狭隘,限制的很窄;
  • 这种在概念含义,和操作,编译等环节做严格区分申明的例子还非常的多,分的很细,很明确,很严格,这种思想贯穿整个语言的设计;这和Python为了开发的高效快捷,省事;从而在规矩和限制上非常的宽松随意形成了鲜明对比;
  • 显然 rust 语言设计的更加的”精致“,很在意细节

Top comments (0)