EDA365电子论坛网
标题: 变量和常量之间的差异 [打印本页]
作者: RNGxiaohu 时间: 2021-10-8 11:15
标题: 变量和常量之间的差异
无法更改变量的值可能会让您想起大多数其他语言都有的另一个编程概念:常量。与不可变变量一样,常量是绑定到名称且不允许更改的值,但常量和变量之间存在一些差异。
首先,您不能mut与常量一起使用。默认情况下,常量不仅仅是不可变的——它们总是不可变的。
您使用const关键字而不是关键字来声明常量let,并且必须注释值的类型。我们将在下一节“数据类型”中介绍类型和类型注释,所以现在不要担心细节。只要知道您必须始终注释类型。
常量可以在任何范围内声明,包括全局范围,这使得它们对于代码的许多部分需要了解的值非常有用。
最后一个区别是常量只能设置为常量表达式,而不是函数调用的结果或任何其他只能在运行时计算的值。
下面是一个常量声明的示例,其中常量的名称是 MAX_POINTS,其值设置为 100,000。(Rust 对常量的命名约定是在单词之间使用全大写和下划线,并且可以在数字文字中插入下划线以提高可读性):
const MAX_POINTS: u32 = 100_000;
常量在程序运行的整个过程中都有效,在它们声明的范围内,使它们成为应用程序域中程序的多个部分可能需要了解的值的有用选择,例如任意点的最大数量一个游戏的玩家被允许赚取或光速。
将整个程序中使用的硬编码值命名为常量有助于将该值的含义传达给代码的未来维护者。如果将来需要更新硬编码值,那么在您的代码中只需要更改一个位置也很有帮助。
) J9 `8 V- y! \' [
7 |( o+ b, H+ v9 P& e0 k! ?0 o1 u
$ U+ {% q) V, O" i) B. U
3 M' S+ y* O3 _* y$ i
作者: guanshen 时间: 2021-10-8 13:06
常量可以在任何范围内声明
作者: showmaker 时间: 2021-10-8 14:21
常量只能设置为常量表达式,而不是函数调用的结果或任何其他只能在运行时计算的值。
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) |
Powered by Discuz! X3.2 |