数据类型

巴克励步

发布于:2025-01-02

Liquid 对象的类型可以是以下五种:
你可以通过 assigncapture 标记来初始化 Liquid 变量。

String(字符串)

将变量的值包裹在单引号或双引号之中就声明了一个字符串:

{% assign my_string = "Hello World!" %}

Number(数字)

数字类型包括浮点数和整数:

{% assign my_int = 25 %}
{% assign my_float = 39.756 %}

Boolean(布尔)

Booleans 类型只能是 truefalse。布尔值千万不能加引号,否则就成为字符串了。

{% assign foo = true %}
{% assign bar = false %}

Nil(空)

Nil 是一个特殊的空值,当 Liquid 代码没有可输出的结果时将返回 Nil。他并不是由 “nil” 这个三个字符组成的字符串。
if 条件判断和其他 Liquid 标记(tag)判断语句中,Nil 被当做 false
下例中,如果 user 不存在(也就是 user 返回 nil),Liquid 不输出问候语:

{% if user %}
  Hello {{ user.name }}!
{% endif %}

如果 Liquid 标记(tag)或输出返回的是 nil,页面上将不会有任何内容。
输入

The current user is {{ user.name }}

输出
The current user is

Array(数组)

数组能够存储一组任意类型的变量。

访问数组中的项

通过 迭代标记(iteration tag) 可以访问数组中的所有项。
输入

<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{% for user in site.users %}
  {{ user }}
{% endfor %}

输出

Tobi Laura Tetsuro Adam

访问数组中的特定项

利用方括号 [ ] 能够访问数组中的特定项。数组的索引从 0 开始。
输入

<!-- if site.users = "Tobi", "Laura", "Tetsuro", "Adam" -->
{{ site.users[0] }}
{{ site.users[1] }}
{{ site.users[3] }}

输出
Tobi
Laura
Adam

初始化数组

你无法只通过 Liquid 语法初始化一个数组。
然而,你可以利用 split 过滤器将一个字符串分割为一个子字符串数组。
提交反馈