42、"hello" 或 [1, 2, 3]。类型 描述这些值的形态(数字、字符串、列表等),
并决定它们可以参与的运算方式。
数字
Fluxon 支持整数、长整型与浮点数,并兼容科学计数法写法。- 整数:直接使用十进制数字,支持负号,例如
42、-10。 - 长整型:在整数后添加
L或l后缀,例如0L、123l。 - 浮点数:
- 省略后缀或使用
d/D表示双精度。 - 使用
f/F后缀表示单精度。 - 支持科学计数法表示法。
- 省略后缀或使用
字符串
Fluxon 的字符串字面量具有如下特性:- 可使用单引号或双引号,两者语义相同。
- 支持常见转义序列:
\n、\r、\t、\\、\"、\'等。 - 支持 无引号标识符文本,即部分未加引号的标识符可以直接视作字符串字面量(见下文)。
无引号标识符文本
Fluxon 的词法规则允许相对宽松的标识符形式:- 首字符可以是英文字母、下划线或中文字符。
- 后续字符可以包含数字、下划线以及
-。 - 只要文本满足上述规则并且不是关键字(如
if、async),就可以直接作为字符串字面量使用。
- 如果要访问变量或函数,必须显式写成
&name或name(...);直接写name会被解释为字符串字面量,而不是变量引用。 - 如需包含空格、特殊符号或关键字内容,仍需使用引号包裹,例如
"if condition"。
布尔与空值
Fluxon 提供以下基础值表示布尔与空值:true/false:布尔常量。null:表示空值或缺失值,常与 Elvis 运算符?:配合使用。
列表
列表用于表示有序集合,使用方括号包裹元素,元素之间使用逗号分隔,支持嵌套列表。- 列表在运行时会映射为
java.util.List。 - 因此可以与宿主 JVM 环境共享和互操作。
映射(键值表)
映射用于表示键值对集合,与列表共享相同的方括号语法,但元素以key: value 形式出现。
- 键(
key)可以是标识符或字符串字面量。 - 值(
value)可以是任意表达式,包括列表、映射或函数调用。