企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 表达式(Expressions) volt模板引擎提供表达式支持,包括文字和常见操作符 输入: ~~~ {{ (1 + 1) * 2 }} ~~~ 输出: ~~~ 4 ~~~ 如果表达式结果无需输出显示,则可以在前面加上do操作符 输入: ~~~ {% do (1 + 1) * 2 %} ~~~ 输出: ~~~ 此时只会执行表达式,不会有任何输出 ~~~ ### 运算符 运算符主要包括算术运算符、比较运算符、逻辑运算符和其它运算符 #### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97%E7%AC%A6)算术运算符 | 操作符 | 作用 | 示例 | | :-: | :-: | :-: | | + | 加法操作 | {{ a+b }} | | \- | 减法操作 | {{ a-b }} | | \* | 乘法操作 | {{ a\*b }} | | / | 除法操作 | {{ a/b }} | | % | 取余操作 | {{ a%b }} | #### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E6%AF%94%E8%BE%83%E8%BF%90%E7%AE%97%E7%AC%A6)比较运算符 | 操作符 | 作用 | | :-: | :-: | | \== | 等于(元素值相同) | | != | 不等于 | | <> | 不等于 | | \> | 大于 | | < | 小于 | | <= | 小于等于 | | \>= | 大于等于 | | \=== | 全等于(元素值和类型都相同) | | !== | 不全等于(元素值和类型至少有一样不同) | #### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AC%A6)逻辑运算符 | 操作符 | 作用 | | :-: | :-: | | or | 或 | | and | 且 | | not | 非 | | (expr) | 表达式 | #### [](https://github.com/jword/stardoc/blob/master/volt%E6%A8%A1%E6%9D%BF%E5%BC%95%E6%93%8E.md#%E5%85%B6%E5%AE%83%E8%BF%90%E7%AE%97%E7%AC%A6)其它运算符 | 操作符 | 作用 | | :-: | :-: | | ~ | 连接两个操作数 | | | | 为最左侧变量增加过滤器 | | .. | 创建一个包含指定范围单元的数组 | | is | 等于 | | in | 检查表达式是否包含在其他表达式中 | | is not | 不等于 | | a ? b : c | 三目运算 | | ++ | 自增 | | \-- | 自减 | `~` 用法示例: ~~~ {# 连接两个字符串并去除最右侧的 '-' 字符 #} {% set prop = '' %} {% set property = ['a','b','c'] %} {% for item in property %} {% set prop = prop~item['val']~'-' %} {% endfor %} {{ prop|right_trim('-') }} {# 输出:a-b-c #} ~~~ `..` 用法示例: ~~~ {# 创建一个包含指定范围单元的数组 #} {% for index in 0..2 %} {{ index }} {% endfor %} {# 输出:0 1 2 #} ~~~ `a ? b : c` 用法示例: ~~~ {# 三目运算:a为真则执行b否则执行c #} {% set a=true %} {{ a ? 'true ' : 'false ' }} {% set a='2' %} {{ a ? 'true ' : 'false ' }} {% set a='' %} {{ a ? 'true ' : 'false ' }} {# 输出:true true false #} ~~~