声明常量
声明常量
功能
常量用于保存定义后不允许再次写入的绑定,适合配置项、固定标识、数学常数和不会变化的函数或类引用。
语法
Name = 'Lisa' Name_1 = 'Lisa' NAME = 'BT'
命名规则
| 规则 | 说明 |
|---|---|
| 首字母 | 必须是大写英文字母。 |
| 后续字符 | 可以是英文字母、数字或 _。 |
| 大小写 | 区分大小写,Name 和 NAME 是两个不同常量。 |
Name、Config、NAME、Name_1 都是常量名;User$ 不是合法常量名,因为常量名不能包含 $。
返回值
| 类型 | 说明 |
|---|---|
| Any | 常量定义表达式返回右侧表达式的值。 |
代码示例
Name = 'Lisa' fn first() { Token = 'A' Token } fn second() { Token = 'B' Token } println Name println first() println second()
注意事项
- 常量不能重复定义;同一作用域内第二次写入会报错。
- 常量不使用
let;let只用于普通变量,let Name = 1会按变量命名规则报错。 - 全局常量在当前 VM 中长期存在,函数内不能定义同名常量,也不能定义与已有全局变量同名的常量。
- 函数内第一次定义的常量属于函数局部作用域,函数调用结束后销毁;不同函数内可以定义同名局部常量。
- 常量名只保护绑定本身;如果常量保存的是对象或数组,是否修改其内部字段取决于对象或数组方法本身。