const和static

有两种声明值的方法,不仅仅是用let。它们是conststatic。另外,Rust不会使用类型推理:你需要为它们编写类型。这些都是用于不改变的值(const意味着常量)。区别在于:

  • const是用于不改变的值,当使用它时,名字会被替换成值。
  • staticconst类似,但有一个固定的内存位置,可以作为一个全局变量使用。

所以它们几乎是一样的。Rust程序员几乎总是使用const

一般用全大写字母作为名字,而且通常在main之外,这样它们就可以在整个程序中生存。

两个例子是 const NUMBER_OF_MONTHS: u32 = 12;static SEASONS: [&str; 4] = ["Spring", "Summer", "Fall", "Winter"];