Skip to main content
字面量 是直接写在脚本中的值,例如 42"hello"[1, 2, 3]类型 描述这些值的形态(数字、字符串、列表等), 并决定它们可以参与的运算方式。

数字

Fluxon 支持整数、长整型与浮点数,并兼容科学计数法写法。
  • 整数:直接使用十进制数字,支持负号,例如 42-10
  • 长整型:在整数后添加 Ll 后缀,例如 0L123l
  • 浮点数
    • 省略后缀或使用 d / D 表示双精度。
    • 使用 f / F 后缀表示单精度。
    • 支持科学计数法表示法。
42
-10
0L
3.14
2.5e3
0.5f

字符串

Fluxon 的字符串字面量具有如下特性:
  • 可使用单引号或双引号,两者语义相同。
  • 支持常见转义序列:\n\r\t\\\"\' 等。
  • 支持 无引号标识符文本,即部分未加引号的标识符可以直接视作字符串字面量(见下文)。
"hello"
'world'
"Line1\nLine2"

无引号标识符文本

Fluxon 的词法规则允许相对宽松的标识符形式:
  • 首字符可以是英文字母、下划线或中文字符。
  • 后续字符可以包含数字、下划线以及 -
  • 只要文本满足上述规则并且不是关键字(如 ifasync),就可以直接作为字符串字面量使用。
color = red               // 等价于 "red"
服务器状态 = 正常           // 中文标识符同样视为字符串
log-level = info          // 中划线可用于非首字符
message = &color + " ok"  // &color 表示读取变量
使用时需要注意:
  • 如果要访问变量或函数,必须显式写成 &namename(...);直接写 name 会被解释为字符串字面量,而不是变量引用。
  • 如需包含空格、特殊符号或关键字内容,仍需使用引号包裹,例如 "if condition"

布尔与空值

Fluxon 提供以下基础值表示布尔与空值:
  • true / false:布尔常量。
  • null:表示空值或缺失值,常与 Elvis 运算符 ?: 配合使用。
isOk = true
fallback = value ?: "default"

列表

列表用于表示有序集合,使用方括号包裹元素,元素之间使用逗号分隔,支持嵌套列表。
  • 列表在运行时会映射为 java.util.List
  • 因此可以与宿主 JVM 环境共享和互操作。
numbers = [1, 2, 3]
nested = [[1, 2], [3, 4]]
empty = []

映射(键值表)

映射用于表示键值对集合,与列表共享相同的方括号语法,但元素以 key: value 形式出现。
  • 键(key)可以是标识符或字符串字面量。
  • 值(value)可以是任意表达式,包括列表、映射或函数调用。
config = [host: "localhost", port: 8080]
headers = ["Content-Type": "application/json"]
掌握上述基础字面量与类型后,你可以在变量赋值、函数参数和控制流中自由组合它们,构建更复杂、更可读的表达式; 其他章节会进一步介绍如何在控制流、函数与并发中使用这些值。

相关链接