如果我们有不可变变量,为什么在 Rust 中还需要常量?

Ale*_*vik 6 variables constants immutability rust

所以我正在探索 Rust,并且我已经了解了常量和不可变变量之间的技术差异。但似乎不可变变量可以做常量可以做的所有事情。那么,如果不可变变量可以完全替代常量,那么常量存在的意义何在呢?

Nat*_*han 5

您应该考虑两个计算时间:

  • 编译时间
  • 运行

该常量是在编译时计算的(并且可以在其他编译时计算中使用),因此运行时间更快,因为它不需要再次计算它。

不可变变量始终在运行时计算(来自通常在编译时不可用的外部输入),并且不能在那里使用常量。