Rust的常量

  • Rust的常量和C语言中的常量基本一样,常量只能赋值编译时就能计算出来的表达式,不可以是函数返回值、变量的计算值等。
  • Rust的常量必须指定类型。
  • Rust的常量要求使用大写字母,如果使用小写字母,会产生编译警告。C语言中一般会使用大写字母定义宏,Rust的常量和C语言中的常量宏差不多。
  • 参考​​Differences Between Variables and Constants​

Rust的变量

  • Rust的变量只能赋值一次,但与常量不同,变量可以赋值运行时才能计算的表达式,可以是函数返回值、其它变量的计算值等。

Rust的mut变量

变量Shadowing

Rust可以重复定义同名变量,即使是同一作用域,后定义的变量会覆盖掉前面定义的变量,而且后定义的变量可以与前面的变量不同类型。

let spaces = "   ";
let spaces = spaces.len();

这个特性大概是借鉴了动态语言的一些方面。但我感觉这会引起新的混乱,相同的作用域下相同的变量名却有着不同的类型!这影响可读性吧。

参考​​Shadowing​