<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.0">Jekyll</generator><link href="https://unknownx1.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://unknownx1.github.io/" rel="alternate" type="text/html" /><updated>2022-04-04T13:44:44+00:00</updated><id>https://unknownx1.github.io/feed.xml</id><title type="html">UnknownX</title><subtitle>UnknownX的博客</subtitle><entry><title type="html">Liuqid基础</title><link href="https://unknownx1.github.io/Liuqid%E5%9F%BA%E7%A1%80/" rel="alternate" type="text/html" title="Liuqid基础" /><published>2022-04-04T00:00:00+00:00</published><updated>2022-04-04T00:00:00+00:00</updated><id>https://unknownx1.github.io/Liuqid%E5%9F%BA%E7%A1%80</id><content type="html" xml:base="https://unknownx1.github.io/Liuqid%E5%9F%BA%E7%A1%80/">&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;[Liquid 模板语言中文文档&lt;/td&gt;
      &lt;td&gt;Liquid 中文网 (bootcss.com)](https://liquid.bootcss.com/)&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h1 id=&quot;简介&quot;&gt;简介&lt;/h1&gt;

&lt;p&gt;Liquid 代码可分为 &lt;a href=&quot;https://liquid.bootcss.com/basics/introduction/#objects&quot;&gt;&lt;strong&gt;对象（object）&lt;/strong&gt;&lt;/a&gt;、&lt;a href=&quot;https://liquid.bootcss.com/basics/introduction/#tags&quot;&gt;&lt;strong&gt;标记（tag）&lt;/strong&gt;&lt;/a&gt; 和 &lt;a href=&quot;https://liquid.bootcss.com/basics/introduction/#filters&quot;&gt;&lt;strong&gt;过滤器（filter）&lt;/strong&gt;&lt;/a&gt;。&lt;/p&gt;

&lt;h2 id=&quot;对象&quot;&gt;对象&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;对象&lt;/strong&gt; 告诉 Liquid 在页面的哪个位置展示内容。对象和变量名由双花括号标识：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{{&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;}}&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ page.title }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Introduction
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;上述实例中，Liquid 输出 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;page.title&lt;/code&gt; 对象的内容，此对象保存的是文本 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Introduction&lt;/code&gt;。&lt;/p&gt;

&lt;h2 id=&quot;标记tag&quot;&gt;标记（tag）&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;标记（tag）&lt;/strong&gt; 创造了模板的逻辑和控制流。他们由单括号加百分号标识：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{%&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;%}&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;标记（tag）并不产生任何可见的文本输出。这意味着你可以用他们为变量赋值、创建条件和循环逻辑，并且不在页面上显示出任何 Liquid 逻辑代码。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if user %}
  Hello {{ user.name }}!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hello Adam!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;标记被分为三类：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/tags/control-flow&quot;&gt;控制流&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/tags/iteration&quot;&gt;迭代&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/tags/variable&quot;&gt;变量赋值&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;你可以在每一类标记所对应的章节了解更多信息。&lt;/p&gt;

&lt;h2 id=&quot;过滤器&quot;&gt;过滤器&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;过滤器&lt;/strong&gt; 改变 Liquid 对象的输出。他们被用在输出上，通过一个 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt; 符号分隔。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;/my/fancy/url&quot; | append: &quot;.html&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;/my/fancy/url.html
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;多个过滤器可以共同作用于同一个输出，并按照从左到右的顺序执行。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;adam!&quot; | capitalize | prepend: &quot;Hello &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hello Adam!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;操作符&quot;&gt;操作符&lt;/h1&gt;

&lt;p&gt;Liquid 包含了大量逻辑（logical）和比较操作符（comparison operator）。&lt;/p&gt;

&lt;h2 id=&quot;基本操作符&quot;&gt;基本操作符&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;==&lt;/code&gt;&lt;/th&gt;
      &lt;th&gt;相等&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;!=&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;不相等&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;大于&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;小于&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;=&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;大于或等于&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;=&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;小于或等于&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;or&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;逻辑或&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;and&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;逻辑与&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;例如：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.title == &quot;Awesome Shoes&quot; %}
  These shoes are awesome!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;可以在一个标记（tag）中使用多个操作符：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.type == &quot;Shirt&quot; or product.type == &quot;Shoes&quot; %}
  This is a shirt or a pair of shoes.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;contains包含&quot;&gt;contains（包含）&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;contains&lt;/code&gt; 用于检查在一个字符串中是否存在某个子串。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.title contains 'Pack' %}
  This product's title contains the word Pack.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;contains&lt;/code&gt; 还可以用于检查一个字符串数组中是否存在某个字符串。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.tags contains 'Hello' %}
  This product has been tagged with 'Hello'.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;contains&lt;/code&gt; 只能用于搜索字符串。你不能将其用于从一个对象数组中检查是否存在某个对象。&lt;/p&gt;

&lt;h1 id=&quot;真值与假值&quot;&gt;真值与假值&lt;/h1&gt;

&lt;p&gt;编程时，在条件判断中任何返回 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt; 的都被叫做 &lt;strong&gt;真值（truthy）&lt;/strong&gt;。任何返回 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt; 的都被叫做 &lt;strong&gt;假值（falsy）&lt;/strong&gt;。所有的对象（object）类型都可以被描述为真值（truthy）或假值（falsy）。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/truthy-and-falsy/#truthy&quot;&gt;Truthy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/truthy-and-falsy/#falsy&quot;&gt;Falsy&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/truthy-and-falsy/#summary&quot;&gt;Summary&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;真值truthy&quot;&gt;真值（Truthy）&lt;/h2&gt;

&lt;p&gt;除了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt; 之外的所有值都是真值。&lt;/p&gt;

&lt;p&gt;如下例，字符串 “Tobi” 虽不是布尔类型，但是其在条件判断时被当做真值（truthy）：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign tobi = &quot;Tobi&quot; %}

{% if tobi %}
  This condition will always be true.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#string&quot;&gt;字符串（String）&lt;/a&gt;，即便是空字符串，也是真值（truthy）。如下例，如果 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;settings.fp_heading&lt;/code&gt; 是个空字符串将会输出空 HTML 标签：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if settings.fp_heading %}
  &amp;lt;h1&amp;gt;{{ settings.fp_heading }}&amp;lt;/h1&amp;gt;
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&amp;lt;/h1&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;假值falsy&quot;&gt;假值（Falsy）&lt;/h2&gt;

&lt;p&gt;在 Liquid 中，&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#nil&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt;&lt;/a&gt; 和 &lt;a href=&quot;https://liquid.bootcss.com/basics/types/#boolean&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt;&lt;/a&gt; 是假值。&lt;/p&gt;

&lt;h2 id=&quot;总结&quot;&gt;总结&lt;/h2&gt;

&lt;p&gt;下表总结了在 Liquid 中什么是真值什么是假值。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt; &lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;真值（truthy）&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;假值（falsy）&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;true&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;false&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nil&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;string&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;empty string&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;integer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;float&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;array&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;empty array&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;page&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;EmptyDrop&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;•&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h1 id=&quot;数据类型&quot;&gt;数据类型&lt;/h1&gt;

&lt;p&gt;Liquid 对象的类型可以是以下五种：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#string&quot;&gt;String&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#number&quot;&gt;Number&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#boolean&quot;&gt;Boolean&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#nil&quot;&gt;Nil&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://liquid.bootcss.com/basics/types/#array&quot;&gt;Array&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;你可以通过 &lt;a href=&quot;https://liquid.bootcss.com/tags/variable/#assign&quot;&gt;assign&lt;/a&gt; 或 &lt;a href=&quot;https://liquid.bootcss.com/tags/variable/#capture&quot;&gt;capture&lt;/a&gt; 标记来初始化 Liquid 变量。&lt;/p&gt;

&lt;h2 id=&quot;string字符串&quot;&gt;String（字符串）&lt;/h2&gt;

&lt;p&gt;将变量的值包裹在单引号或双引号之中就声明了一个字符串：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_string = &quot;Hello World!&quot; %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;number数字&quot;&gt;Number（数字）&lt;/h2&gt;

&lt;p&gt;数字类型包括浮点数和整数：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_int = 25 %}
{% assign my_float = 39.756 %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;boolean布尔&quot;&gt;Boolean（布尔）&lt;/h2&gt;

&lt;p&gt;Booleans 类型只能是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt; 或 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt;。布尔值千万不能加引号，否则就成为字符串了。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign foo = true %}
{% assign bar = false %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;nil空&quot;&gt;Nil（空）&lt;/h2&gt;

&lt;p&gt;Nil 是一个特殊的空值，当 Liquid 代码没有可输出的结果时将返回 Nil。他并&lt;strong&gt;不是&lt;/strong&gt;由 “nil” 这个三个字符组成的字符串。&lt;/p&gt;

&lt;p&gt;在 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;if&lt;/code&gt; 条件判断和其他 Liquid 标记（tag）判断语句中，Nil &lt;a href=&quot;https://liquid.bootcss.com/basics/truthy-and-falsy&quot;&gt;被当做 false&lt;/a&gt; 。&lt;/p&gt;

&lt;p&gt;下例中，如果 user 不存在（也就是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user&lt;/code&gt; 返回 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt;），Liquid 不输出问候语：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if user %}
  Hello {{ user.name }}!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果 Liquid 标记（tag）或输出返回的是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt;，页面上将不会有任何内容。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;The current user is {{ user.name }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;The current user is
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;array数组&quot;&gt;Array（数组）&lt;/h2&gt;

&lt;p&gt;数组能够存储一组任意类型的变量。&lt;/p&gt;

&lt;h3 id=&quot;访问数组中的项&quot;&gt;访问数组中的项&lt;/h3&gt;

&lt;p&gt;通过 &lt;a href=&quot;https://liquid.bootcss.com/tags/iteration&quot;&gt;迭代标记（iteration tag）&lt;/a&gt; 可以访问数组中的所有项。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- if site.users = &quot;Tobi&quot;, &quot;Laura&quot;, &quot;Tetsuro&quot;, &quot;Adam&quot; --&amp;gt;
{% for user in site.users %}
  {{ user }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Tobi Laura Tetsuro Adam
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;访问数组中的特定项&quot;&gt;访问数组中的特定项&lt;/h3&gt;

&lt;p&gt;利用方括号 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[&lt;/code&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;]&lt;/code&gt; 能够访问数组中的特定项。数组的索引从 0 开始。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- if site.users = &quot;Tobi&quot;, &quot;Laura&quot;, &quot;Tetsuro&quot;, &quot;Adam&quot; --&amp;gt;
{{ site.users[0] }}
{{ site.users[1] }}
{{ site.users[3] }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Tobi
Laura
Adam
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;初始化数组&quot;&gt;初始化数组&lt;/h3&gt;

&lt;p&gt;你无法只通过 Liquid 语法初始化一个数组。&lt;/p&gt;

&lt;p&gt;然而，你可以利用 &lt;a href=&quot;https://liquid.bootcss.com/filters/split&quot;&gt;split&lt;/a&gt; 过滤器将一个字符串分割为一个子字符串数组。&lt;/p&gt;

&lt;h1 id=&quot;liquid-的各种分支&quot;&gt;Liquid 的各种分支&lt;/h1&gt;

&lt;p&gt;Liquid 是一门灵活、安全的模版语言，被用于许多不同环境中。Liquid 被创建之初是用在 &lt;a href=&quot;https://www.shopify.com/&quot;&gt;Shopify&lt;/a&gt; 商店系统中的，后来也被广泛用于 &lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; 网站中。随着时间的推移，Shopify 和 Jekyll 分别为 Liquid 添加了针对各自用途的对象（object）、标记（tag）和过滤器（filter）。目前最流行的 Liquid 版本包括 &lt;strong&gt;Liquid&lt;/strong&gt;、&lt;strong&gt;Shopify Liquid&lt;/strong&gt; 和 &lt;strong&gt;Jekyll Liquid&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;本站点托管的是最新版本的 &lt;strong&gt;Liquid&lt;/strong&gt; 的文档，包括了 beta 和 release candidate 版本中包含的特性，也就是说，是独立于 Shopify 和 Jekyll 之外的 Liquid。如果你是从 Liquid 仓库下载的代码或者安装的的是 &lt;a href=&quot;https://rubygems.org/gems/liquid&quot;&gt;gem&lt;/a&gt; 包，你所选择的 Liquid 版本对应你能够访问的对象（object）、标记（tag）和过滤器。&lt;/p&gt;

&lt;h2 id=&quot;shopify&quot;&gt;Shopify&lt;/h2&gt;

&lt;p&gt;Shopify 一直采用的都是最新版本的 Liquid，并且 Shopify 会针对 merchants’ store 为 Liquid 添加大量的对象（object）、标记（tag）和过滤器。这些新增的内容包括代表商店（store）、产品（product）和顾客信息的对象，以及用于展示商店数据和操作产品照片的过滤器。&lt;/p&gt;

&lt;p&gt;Shopify 版本的 Liquid 所对应的文档在 &lt;a href=&quot;https://help.shopify.com/themes/liquid&quot;&gt;Shopify Help Center&lt;/a&gt;。如果你希望尝试 Shopify 版本的 Liquid，你可以&lt;a href=&quot;https://www.shopify.com/signup&quot;&gt;试用 Shopify&lt;/a&gt; 或者使用类似 &lt;a href=&quot;http://droppen.org/&quot;&gt;DropPen&lt;/a&gt; 的工具。&lt;/p&gt;

&lt;h2 id=&quot;jekyll&quot;&gt;Jekyll&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; 是一个静态网站生成器，一个用于将模版和内容合并到一起从而创建网站的命令行工具。ekyll 将 Liquid 作为自身的模版语言，并且添加了许多对象（object）、标记（tag）和过滤器（filter）。这些新增内容包括代表内容页面的对象、用于在页面中引入内容片段的标记（tag），以及用于操作字符串和 URL 的过滤器。&lt;/p&gt;

&lt;p&gt;Jekyll 还是 &lt;a href=&quot;https://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt; 的底层引擎。GitHub Pages 是一项网站托管服务，允许你将 Jekyll 网站推送到 GitHub 仓库，最终得到一个发布到公网的站点。本网站就是由 GitHub Pages 托管的。&lt;/p&gt;

&lt;p&gt;Jekyll 可能使用的不是最新版本的 Liquid。也就意味着本文档所列出的标记（tag）和过滤器不能在 Jekyll 中使用。通常 Jekyll 项目使用的是稳定版的 Liquid，而不使用 beta 或 release candidate 版本。通过 &lt;a href=&quot;https://rubygems.org/gems/jekyll&quot;&gt;Jekyll 的 gem 信息也&lt;/a&gt; 可查看 Jekyll 所依赖的所有 gem 包，从而可以了解 Jekyll 所使用的 Liquid 版本。&lt;/p&gt;

&lt;p&gt;Jekyll 版本的 Liquid 的文档在 &lt;a href=&quot;http://jekyllrb.com/docs/templates/&quot;&gt;Templates section of Jekyll’s documentation&lt;/a&gt;。如果你希望尝试 Jekyll 版本的 Liquid，你可以克隆 Jekyll 项目或者安装 Jekyll 的 gem 包，然后在静态网站中测试 Liquid。&lt;/p&gt;

&lt;h1 id=&quot;控制输出的空白符&quot;&gt;控制输出的空白符&lt;/h1&gt;

&lt;p&gt;在 Liquid 模版中，你可以将连字符放在标记（tag）中，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{{-&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-}}&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{%-&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-%}&lt;/code&gt;，用于将标记（tag）渲染之后的输出内容的左侧或右侧的空拍符剔除。&lt;/p&gt;

&lt;p&gt;通常，即使不输出文本，模版中的任何 Liquid 表达式仍然会在渲染之后输出的 HTML 中包含一个空行：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_variable = &quot;tomato&quot; %}
{{ my_variable }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;请注意渲染之后输出的 “tomato” 字符前面包含了一个空行：&lt;/p&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tomato
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;通过为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 标记（tag）添加连字符，可以将渲染之后所输出的空拍符删除：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{%- assign my_variable = &quot;tomato&quot; -%}
{{ my_variable }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tomato
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果你不希望任何标记（tag）被渲染之后所输出的内容有任何空白符，只需在所有标记（tag）两侧全部添加连字符即可，例如 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{%-&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-%}&lt;/code&gt;)：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign username = &quot;John G. Chalmers-Smith&quot; %}
{% if username and username.size &amp;gt; 10 %}
  Wow, {{ username }}, you have a long name!
{% else %}
  Hello there!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;不做空白符控制的输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  Wow, John G. Chalmers-Smith, you have a long name!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{%- assign username = &quot;John G. Chalmers-Smith&quot; -%}
{%- if username and username.size &amp;gt; 10 -%}
  Wow, {{ username }}, you have a long name!
{%- else -%}
  Hello there!
{%- endif -%}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;带有空白符控制的输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Wow, John G. Chalmers-Smith, you have a long name!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;注释&quot;&gt;注释&lt;/h1&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comment&lt;/code&gt; 标记让你能够在 Liquid 模板中书写的内容不被输出。任何书写在 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comment&lt;/code&gt; 起始与结束标记之间的内容都不会被输出，如果是 Liquid 代码则不会被执行。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Anything you put between {% comment %} and {% endcomment %} tags
is turned into a comment.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Anything you put between  tags
is turned into a comment.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;控制流&quot;&gt;控制流&lt;/h1&gt;

&lt;p&gt;控制流标记（control flow tag）能够根据编程逻辑改变 Liquid 输出的信息。&lt;/p&gt;

&lt;h2 id=&quot;if&quot;&gt;if&lt;/h2&gt;

&lt;p&gt;只有当某个条件为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt; 时才执行一段代码。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.title == 'Awesome Shoes' %}
  These shoes are awesome!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;These shoes are awesome!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;unless&quot;&gt;unless&lt;/h2&gt;

&lt;p&gt;与 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;if&lt;/code&gt; 相对 – 只有当某个条件&lt;strong&gt;不&lt;/strong&gt;成立时才执行一段代码。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% unless product.title == 'Awesome Shoes' %}
  These shoes are not awesome.
{% endunless %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;These shoes are not awesome.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;和如下实例的执行结果一致：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if product.title != 'Awesome Shoes' %}
  These shoes are not awesome.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;elsif--else&quot;&gt;elsif / else&lt;/h2&gt;

&lt;p&gt;为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;if&lt;/code&gt; 或 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unless&lt;/code&gt; 添加更多状态判断。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- If customer.name = 'anonymous' --&amp;gt;
{% if customer.name == 'kevin' %}
  Hey Kevin!
{% elsif customer.name == 'anonymous' %}
  Hey Anonymous!
{% else %}
  Hi Stranger!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hey Anonymous!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;casewhen&quot;&gt;case/when&lt;/h2&gt;

&lt;p&gt;创建一个开关表达式，用于将一个变量和多个不同值进行比较。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;case&lt;/code&gt; 用于初始化一个开关表达式，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;when&lt;/code&gt; 用于比较他们的值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign handle = 'cake' %}
{% case handle %}
  {% when 'cake' %}
     This is a cake
  {% when 'cookie' %}
     This is a cookie
  {% else %}
     This is not a cake nor a cookie
{% endcase %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;This is a cake
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;迭代循环&quot;&gt;迭代／循环&lt;/h1&gt;

&lt;p&gt;迭代（或循环）标记（iteration tag）用于重复运行一段代码。&lt;/p&gt;

&lt;h2 id=&quot;for&quot;&gt;for&lt;/h2&gt;

&lt;p&gt;重复运行一段代码。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;for&lt;/code&gt; 循环中所能够使用的属性请参考 &lt;a href=&quot;https://docs.shopify.com/themes/liquid/objects/for-loops&quot;&gt;forloop (object)&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  {% for product in collection.products %}
    {{ product.title }}
  {% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;hat shirt pants
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;break&quot;&gt;break&lt;/h3&gt;

&lt;p&gt;循环过程中若干遇到 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;break&lt;/code&gt; 标记（tag）即停止循环。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% for i in (1..5) %}
  {% if i == 4 %}
    {% break %}
  {% else %}
    {{ i }}
  {% endif %}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 2 3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;continue&quot;&gt;continue&lt;/h3&gt;

&lt;p&gt;循环过程中若遇到 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;continue&lt;/code&gt; 标记（tag）则跳出当前循环。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% for i in (1..5) %}
  {% if i == 4 %}
    {% continue %}
  {% else %}
    {{ i }}
  {% endif %}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 2 3   5
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;for-parameters&quot;&gt;for (parameters)&lt;/h2&gt;

&lt;h3 id=&quot;limit&quot;&gt;limit&lt;/h3&gt;

&lt;p&gt;限定循环执行的次数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- if array = [1,2,3,4,5,6] --&amp;gt;
{% for item in array limit:2 %}
  {{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;offset&quot;&gt;offset&lt;/h3&gt;

&lt;p&gt;从指定索引号开始执行循环。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- if array = [1,2,3,4,5,6] --&amp;gt;
{% for item in array offset:2 %}
  {{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3 4 5 6
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;range&quot;&gt;range&lt;/h3&gt;

&lt;p&gt;定义循环执行的范围。可利用数字或变量来定义此执行范围。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% for i in (3..5) %}
  {{ i }}
{% endfor %}

{% assign num = 4 %}
{% for i in (1..num) %}
  {{ i }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3 4 5
1 2 3 4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;reversed&quot;&gt;reversed&lt;/h3&gt;

&lt;p&gt;反转循环的执行顺序。注意和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reverse&lt;/code&gt; 过滤器（filter）的拼写是不同的。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!-- if array = [1,2,3,4,5,6] --&amp;gt;
{% for item in array reversed %}
  {{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;6 5 4 3 2 1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;cycle&quot;&gt;cycle&lt;/h2&gt;

&lt;p&gt;循环一组字符串并按照它们传入的顺序将其输出。每次调用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle&lt;/code&gt; 时，传入的参数中的下一个字符串将被输出。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle&lt;/code&gt; 必须用在 &lt;a href=&quot;https://liquid.bootcss.com/tags/iteration/#for&quot;&gt;for&lt;/a&gt; 循环中。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% cycle 'one', 'two', 'three' %}
{% cycle 'one', 'two', 'three' %}
{% cycle 'one', 'two', 'three' %}
{% cycle 'one', 'two', 'three' %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;one
two
three
one
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle&lt;/code&gt; 的使用场景包括：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;对表格中的奇数／偶数行输出相应的类（class）&lt;/li&gt;
  &lt;li&gt;在一行中的最后一列输出一个唯一的类（class）&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;cycle-parameters&quot;&gt;cycle (parameters)&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle&lt;/code&gt; 能够接受一个叫做 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle group&lt;/code&gt; 的参数，以便满足你在模版中需要使用多个 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cycle&lt;/code&gt; 代码块的情况。如果没有为 cycle group 命名，那么将会假定带有相同参数的 cycle 调用属于同一个组（group）。&lt;/p&gt;

&lt;h2 id=&quot;tablerow&quot;&gt;tablerow&lt;/h2&gt;

&lt;p&gt;生成一个 HTML 表格。必须用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;table&amp;gt;&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;/table&amp;gt;&lt;/code&gt; 这两个 HTML 标签将其包裹起来。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
{% tablerow product in collection.products %}
  {{ product.title }}
{% endtablerow %}
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
  &amp;lt;tr class=&quot;row1&quot;&amp;gt;
    &amp;lt;td class=&quot;col1&quot;&amp;gt;
      Cool Shirt
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col2&quot;&amp;gt;
      Alien Poster
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col3&quot;&amp;gt;
      Batman Poster
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col4&quot;&amp;gt;
      Bullseye Shirt
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col5&quot;&amp;gt;
      Another Classic Vinyl
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col6&quot;&amp;gt;
      Awesome Jeans
    &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;tablerow-parameters&quot;&gt;tablerow (parameters)&lt;/h2&gt;

&lt;h3 id=&quot;cols&quot;&gt;cols&lt;/h3&gt;

&lt;p&gt;定义表格应当有多少列。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% tablerow product in collection.products cols:2 %}
  {{ product.title }}
{% endtablerow %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;table&amp;gt;
  &amp;lt;tr class=&quot;row1&quot;&amp;gt;
    &amp;lt;td class=&quot;col1&quot;&amp;gt;
      Cool Shirt
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col2&quot;&amp;gt;
      Alien Poster
    &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr class=&quot;row2&quot;&amp;gt;
    &amp;lt;td class=&quot;col1&quot;&amp;gt;
      Batman Poster
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col2&quot;&amp;gt;
      Bullseye Shirt
    &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
  &amp;lt;tr class=&quot;row3&quot;&amp;gt;
    &amp;lt;td class=&quot;col1&quot;&amp;gt;
      Another Classic Vinyl
    &amp;lt;/td&amp;gt;
    &amp;lt;td class=&quot;col2&quot;&amp;gt;
      Awesome Jeans
    &amp;lt;/td&amp;gt;
  &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;limit-1&quot;&gt;limit&lt;/h4&gt;

&lt;p&gt;在执行到指定的脚标（index）之后退出 tablerow 。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% tablerow product in collection.products cols:2 limit:3 %}
  {{ product.title }}
{% endtablerow %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;offset-1&quot;&gt;offset&lt;/h3&gt;

&lt;p&gt;在指定的脚标（index）之后开始执行 tablerow 。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% tablerow product in collection.products cols:2 offset:3 %}
  {{ product.title }}
{% endtablerow %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;range-1&quot;&gt;range&lt;/h3&gt;

&lt;p&gt;定义循环执行的范围。可利用数字和变量来定义执行范围。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;!--variable number example--&amp;gt;

{% assign num = 4 %}
&amp;lt;table&amp;gt;
{% tablerow i in (1..num) %}
  {{ i }}
{% endtablerow %}
&amp;lt;/table&amp;gt;

&amp;lt;!--literal number example--&amp;gt;

&amp;lt;table&amp;gt;
{% tablerow i in (3..5) %}
  {{ i }}
{% endtablerow %}
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;原始内容&quot;&gt;原始内容&lt;/h1&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;raw&lt;/code&gt; 标记临时禁止处理其所包围的代码。如果输出的内容与 Liquid 模板语言有冲突时（例如 Mustache、Handlebars 模板语言）可以避免冲突。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
  In Handlebars, {{ this }} will be HTML-escaped, but
  {{{ that }}} will not.

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;In Handlebars, {{ this }} will be HTML-escaped, but {{{ that }}} will not.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;变量&quot;&gt;变量&lt;/h1&gt;

&lt;p&gt;变量标记（variable tag）用于创建新的 Liquid 变量。&lt;/p&gt;

&lt;h2 id=&quot;assign&quot;&gt;assign&lt;/h2&gt;

&lt;p&gt;创建一个新变量。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_variable = false %}
{% if my_variable != true %}
  This statement is valid.
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  This statement is valid.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;将变量用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;&lt;/code&gt; 包裹之后则将其当做字符串对待。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign foo = &quot;bar&quot; %}
{{ foo }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bar
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;capture&quot;&gt;capture&lt;/h2&gt;

&lt;p&gt;将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;capture&lt;/code&gt; 开始与结束标记之间的字符串捕获之后赋值给一个变量。通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{% capture %}&lt;/code&gt; 创建的变量都是字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% capture my_variable %}I am being captured.{% endcapture %}
{{ my_variable }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;I am being captured.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;capture&lt;/code&gt; 时，你还可以利用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 创建的其他变量创造一个复杂的字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign favorite_food = 'pizza' %}
{% assign age = 35 %}

{% capture about_me %}
I am {{ age }} and my favorite food is {{ favorite_food }}.
{% endcapture %}

{{ about_me }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;I am 35 and my favourite food is pizza.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;increment&quot;&gt;increment&lt;/h2&gt;

&lt;p&gt;创建一个全新的数值变量，并且在后续每次调用时将此变量的值加 1。初始值是 0。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% increment my_counter %}
{% increment my_counter %}
{% increment my_counter %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0
1
2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;increment&lt;/code&gt; 标记（tag）创建的变量与通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 或 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;capture&lt;/code&gt; 创建的变量是相互独立的。&lt;/p&gt;

&lt;p&gt;在下面的实例中，名为 “var” 的变量是通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 创建的。然后将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;increment&lt;/code&gt; 标记（tag）在相同的变量名上应用了几次。注意，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;increment&lt;/code&gt; 标记（tag）不会对 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 创建的变量 “var” 及其值产生任何影响。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign var = 10 %}
{% increment var %}
{% increment var %}
{% increment var %}
{{ var }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0
1
2
10
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;decrement&quot;&gt;decrement&lt;/h2&gt;

&lt;p&gt;创建一个全新的数值变量，并且在后续每次调用时将此变量的值减 1。初始值是 -1。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% decrement variable %}
{% decrement variable %}
{% decrement variable %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-1
-2
-3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;和 &lt;a href=&quot;https://liquid.bootcss.com/tags/variable/#increment&quot;&gt;increment&lt;/a&gt; 类似，在 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;decrement&lt;/code&gt; 之中创建的变量与通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 或 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;capture&lt;/code&gt; 创建的变量是互相独立的。&lt;/p&gt;

&lt;h1 id=&quot;abs&quot;&gt;abs&lt;/h1&gt;

&lt;p&gt;返回一个数字的绝对值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ -17 | abs }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;17
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | abs }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果组成字符串的各个字符全是数字，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;abs&lt;/code&gt; 也能够对此字符串求绝对值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;-19.86&quot; | abs }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;19.86
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;append&quot;&gt;append&lt;/h1&gt;

&lt;p&gt;将两个字符串拼接起来并返回拼接之后的值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;/my/fancy/url&quot; | append: &quot;.html&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;/my/fancy/url.html
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;append&lt;/code&gt; 同样能够作用于变量：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign filename = &quot;/index.html&quot; %}
{{ &quot;website.com&quot; | append: filename }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;website.com/index.html
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;at_least&quot;&gt;at_least&lt;/h1&gt;

&lt;p&gt;将数字限制在最小值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | at_least: 5 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;5
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | at_least: 3 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;at_most&quot;&gt;at_most&lt;/h1&gt;

&lt;p&gt;将数字限制在最大值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | at_most: 5 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | at_most: 3 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;capitalize&quot;&gt;capitalize&lt;/h1&gt;

&lt;p&gt;将字符串首字母转为大写。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;title&quot; | capitalize }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Title
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;capitalize&lt;/code&gt; 只把字符串的首字母转为大写，其他字符不受影响：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;my great title&quot; | capitalize }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;My great title
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;ceil&quot;&gt;ceil&lt;/h1&gt;

&lt;p&gt;将一个浮点数向上取整并返回一个最接近的整数。在 ceil 过滤器执行之前 Liquid 会先尝试将输入转换为数字格式。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 1.2 | ceil }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 2.0 | ceil }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | ceil }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;184
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;以下实例所用输入是字符串：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;3.5&quot; | ceil }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;compact&quot;&gt;compact&lt;/h1&gt;

&lt;p&gt;删除数组中的所有 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt; 值。&lt;/p&gt;

&lt;p&gt;例如，假定整个网站所有内容页面作为一个数组保存在 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.pages&lt;/code&gt; 变量中，其中某些页面被设置了 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;category&lt;/code&gt; 属性用于指定该页面的内容分类。如果我们利用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;map&lt;/code&gt; 过滤器将所有页面的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;category&lt;/code&gt; 属性保存到一个数组中，就会出现如果某个页面没有 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;category&lt;/code&gt; 属性，其在数组中的值就会是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign site_categories = site.pages | map: 'category' %}

{% for category in site_categories %}
  {{ category }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  business
  celebrities

  lifestyle
  sports

  technology
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;在创建 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site_categories&lt;/code&gt; 数组时，通过使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;compact&lt;/code&gt; 过滤器我们可以删除此数组中的所有 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt; 值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign site_categories = site.pages | map: 'category' | compact %}

{% for category in site_categories %}
  {{ category }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  business
  celebrities
  lifestyle
  sports
  technology
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;concat&quot;&gt;concat&lt;/h1&gt;

&lt;p&gt;Concatenates (joins together) multiple arrays. The resulting array contains all the items from the input arrays.&lt;/p&gt;

&lt;p&gt;Input&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign fruits = &quot;apples, oranges, peaches&quot; | split: &quot;, &quot; %}
{% assign vegetables = &quot;carrots, turnips, potatoes&quot; | split: &quot;, &quot; %}

{% assign everything = fruits | concat: vegetables %}

{% for item in everything %}
- {{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;- apples
- oranges
- peaches
- carrots
- turnips
- potatoes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can string together &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;concat&lt;/code&gt; filters to join more than two arrays:&lt;/p&gt;

&lt;p&gt;Input&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign furniture = &quot;chairs, tables, shelves&quot; | split: &quot;, &quot; %}

{% assign everything = fruits | concat: vegetables | concat: furniture %}

{% for item in everything %}
- {{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;- apples
- oranges
- peaches
- carrots
- turnips
- potatoes
- chairs
- tables
- shelves
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;date&quot;&gt;date&lt;/h1&gt;

&lt;p&gt;将时间戳（timestamp）转换为另一种日期格式。格式化语法与 &lt;a href=&quot;http://strftime.net/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strftime&lt;/code&gt;&lt;/a&gt; 一致。输入格式与 Ruby 中的 &lt;a href=&quot;https://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html#method-c-parse&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Time.parse&lt;/code&gt;&lt;/a&gt; 一致。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ article.published_at | date: &quot;%a, %b %d, %y&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Fri, Jul 17, 15
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ article.published_at | date: &quot;%Y&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2015
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt; 能够作用于包含良好格式化的日期字符串：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;March 14, 2016&quot; | date: &quot;%b %d, %y&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Mar 14, 16
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;now&quot;&lt;/code&gt; (或 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;today&quot;&lt;/code&gt;) 单词传入 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt; 过滤器可以获取当前时间：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;This page was last updated at {{ &quot;now&quot; | date: &quot;%Y-%m-%d %H:%M&quot; }}.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;This page was last updated at 2020-05-01 14:41.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;注意，上述实例输出的日期是最后一次生成当前页面的时间，并不是页面呈现给用户的时间。&lt;/p&gt;

&lt;h1 id=&quot;default&quot;&gt;default&lt;/h1&gt;

&lt;p&gt;指定一个默认值，以防预期的值不存在。如果左侧的值为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nil&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;false&lt;/code&gt; 或空，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;default&lt;/code&gt; 将输出此默认值。&lt;/p&gt;

&lt;p&gt;如下实例中，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;product_price&lt;/code&gt; 并未被定义，因此将输出默认值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ product_price | default: 2.99 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2.99
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如下实例中，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;product_price&lt;/code&gt; 已被定义，不再输出默认值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign product_price = 4.99 %}
{{ product_price | default: 2.99 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4.99
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如下实例中，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;product_price&lt;/code&gt; 的值为空，因此将输出默认值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign product_price = &quot;&quot; %}
{{ product_price | default: 2.99 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2.99
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;divided_by&quot;&gt;divided_by&lt;/h1&gt;

&lt;p&gt;将两个数相除。&lt;/p&gt;

&lt;p&gt;如果除数（divisor）为整数，则将相除之后得到的结果向下取整得到最接近的整数（也就是对应 &lt;a href=&quot;https://liquid.bootcss.com/filters/floor&quot;&gt;floor&lt;/a&gt; 的功能）。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 16 | divided_by: 4 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 5 | divided_by: 3 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;控制舍入&quot;&gt;控制舍入&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;divided_by&lt;/code&gt; 返回的结果于除数是同一数据类型的，也就是说，如果除数是整数，返回的结果也是整数；如果除数是浮点数（带有小数），返回的结果也是浮点数。&lt;/p&gt;

&lt;p&gt;如下实例，除数为整数：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 20 | divided_by: 7 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;除数为浮点数：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 20 | divided_by: 7.0 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2.857142857142857
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;改变变量的类型&quot;&gt;改变变量的类型&lt;/h3&gt;

&lt;p&gt;某些情况你需要将除数设置为一个变量，这种情况下你无法简单的给这个变量添加 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.0&lt;/code&gt; 将其转变为浮点数。这时，你可以通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;times&lt;/code&gt; 过滤器将其转变为浮点数，并通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 创建一个新变量来保存转换之后的浮点数。&lt;/p&gt;

&lt;p&gt;下例中，除数是一个变量，保存的是一个整数，所以返回值也是一个整数：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_integer = 7 %}
{{ 20 | divided_by: my_integer }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;下面，我们将这个变量&lt;a href=&quot;https://liquid.bootcss.com/filters/times&quot;&gt;乘以&lt;/a&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1.0&lt;/code&gt; 来得到一个浮点数，然后将此浮点数作为除数进行运算：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_integer = 7 %}
{% assign my_float = my_integer | times: 1.0 %}
{{ 20 | divided_by: my_float }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2.857142857142857
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;downcase&quot;&gt;downcase&lt;/h1&gt;

&lt;p&gt;用于将字符串中的各个字符转换为小写形式。对于已经是小写形式的字符串没有任何影响。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Parker Moore&quot; | downcase }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;parker moore
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;apple&quot; | downcase }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apple
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;escape&quot;&gt;escape&lt;/h1&gt;

&lt;p&gt;对字符串转义操作就是将字符串中的某些字符替换为转义序列（escape sequence），这样整个字符串就能够用于 URL 了。如果字符串不需要转义则不会对字符串做任何操作。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Have you read 'James &amp;amp; the Giant Peach'?&quot; | escape }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Have you read &amp;amp;#39;James &amp;amp;amp; the Giant Peach&amp;amp;#39;?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Tetsuro Takara&quot; | escape }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Tetsuro Takara
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;escape_once&quot;&gt;escape_once&lt;/h1&gt;

&lt;p&gt;转义一个字符串并且不修改已经转义过的实体（entities)。对于无须转义的字符串不做任何修改。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;1 &amp;lt; 2 &amp;amp; 3&quot; | escape_once }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 &amp;amp;lt; 2 &amp;amp;amp; 3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;1 &amp;amp;lt; 2 &amp;amp;amp; 3&quot; | escape_once }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1 &amp;amp;lt; 2 &amp;amp;amp; 3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;first&quot;&gt;first&lt;/h1&gt;

&lt;p&gt;返回数组的第一项。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;apples, oranges, peaches, plums&quot; | split: &quot;, &quot; %}

{{ my_array.first }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;apples
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;zebra, octopus, giraffe, tiger&quot; | split: &quot;, &quot; %}

{{ my_array.first }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;zebra
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;floor&quot;&gt;floor&lt;/h1&gt;

&lt;p&gt;将一个浮点数通过舍弃小数部分得到最近的整数。在 floor 过滤器执行之前 Liquid 会先尝试将输入转换为数字格式。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 1.2 | floor }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 2.0 | floor }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | floor }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;183
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;以下实例所用输入是字符串：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;3.5&quot; | floor }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;join&quot;&gt;join&lt;/h1&gt;

&lt;p&gt;将数组中的各个字符串合并为一个字符串，并将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;split&lt;/code&gt; 参数作为字符串之间的分隔符。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign beatles = &quot;John, Paul, George, Ringo&quot; | split: &quot;, &quot; %}

{{ beatles | join: &quot; and &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;John and Paul and George and Ringo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;last&quot;&gt;last&lt;/h1&gt;

&lt;p&gt;返回数组中的最后一项。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;apples, oranges, peaches, plums&quot; | split: &quot;, &quot; %}

{{ my_array.last }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;plums
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;zebra, octopus, giraffe, tiger&quot; | split: &quot;, &quot; %}

{{ my_array.last }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;tiger
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;lstrip&quot;&gt;lstrip&lt;/h1&gt;

&lt;p&gt;删除字符串左侧的所有空白符（制表符、空格和换行符）。字符串中间的所有空白符不受影响。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;          So much room for activities!          &quot; | lstrip }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;So much room for activities!          
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;map&quot;&gt;map&lt;/h1&gt;

&lt;p&gt;从对象（object）中提取指定名称的属性的值，并用这些值构建一个数组。&lt;/p&gt;

&lt;p&gt;以下实例中，假定 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.pages&lt;/code&gt; 包含了整个网站的元数据信息。利用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assign&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;map&lt;/code&gt; 过滤器创建一个变量，此变量只包含 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.pages&lt;/code&gt; 对象中 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;category&lt;/code&gt; 属性对应的所有值。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign all_categories = site.pages | map: &quot;category&quot; %}

{% for item in all_categories %}
{{ item }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;business
celebrities
lifestyle
sports
technology
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;minus&quot;&gt;minus&lt;/h1&gt;

&lt;p&gt;从一个数中减去另一个数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | minus: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 16 | minus: 4 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;12
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | minus: 12 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;171.357
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;modulo&quot;&gt;modulo&lt;/h1&gt;

&lt;p&gt;返回除法运算的余数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 3 | modulo: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 24 | modulo: 7 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | modulo: 12 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3.357
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;newline_to_br&quot;&gt;newline_to_br&lt;/h1&gt;

&lt;p&gt;将所有换行符(&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\n&lt;/code&gt;) 替换为 HTML 的 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;br&amp;gt;&lt;/code&gt;) 标签。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% capture string_with_newlines %}
Hello
there
{% endcapture %}

{{ string_with_newlines | newline_to_br }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;br /&amp;gt;
Hello&amp;lt;br /&amp;gt;
there&amp;lt;br /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;plus&quot;&gt;plus&lt;/h1&gt;

&lt;p&gt;两个数相加。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 4 | plus: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;6
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 16 | plus: 4 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;20
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | plus: 12 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;195.357
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;prepend&quot;&gt;prepend&lt;/h1&gt;

&lt;p&gt;在一个字符串前面附加另一个字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;apples, oranges, and bananas&quot; | prepend: &quot;Some fruit: &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Some fruit: apples, oranges, and bananas
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;prepend&lt;/code&gt; 也能作用于变量：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign url = &quot;example.com&quot; %}

{{ &quot;/index.html&quot; | prepend: url }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;example.com/index.html
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;remove&quot;&gt;remove&lt;/h1&gt;

&lt;p&gt;从一个字符串中删除所有出现的另一个子字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;I strained to see the train through the rain&quot; | remove: &quot;rain&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;I sted to see the t through the 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;remove_first&quot;&gt;remove_first&lt;/h1&gt;

&lt;p&gt;从一个字符串中仅仅删除第一次出现的另一个子字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;I strained to see the train through the rain&quot; | remove_first: &quot;rain&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;I sted to see the train through the rain
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;replace&quot;&gt;replace&lt;/h1&gt;

&lt;p&gt;将参数中给出的第一个参数全部替换为第二个参数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Take my protein pills and put my helmet on&quot; | replace: &quot;my&quot;, &quot;your&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Take your protein pills and put your helmet on
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;replace_first&quot;&gt;replace_first&lt;/h1&gt;

&lt;p&gt;将字符串中出现的第一个参数替换为第二个参数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_string = &quot;Take my protein pills and put my helmet on&quot; %}
{{ my_string | replace_first: &quot;my&quot;, &quot;your&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Take your protein pills and put my helmet on
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;reverse&quot;&gt;reverse&lt;/h1&gt;

&lt;p&gt;将数组中的所有项的顺序反转。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reverse&lt;/code&gt; 不能操作字符串。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;apples, oranges, peaches, plums&quot; | split: &quot;, &quot; %}

{{ my_array | reverse | join: &quot;, &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;plums, peaches, oranges, apples
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;reverse&lt;/code&gt; 不能直接应用到字符串上，但是你可以先将字符串分割成字符数组，然后再将数组反转，最后将反转之后的数组合并。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | split: &quot;&quot; | reverse | join: &quot;&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.moT rojaM ot lortnoc dnuorG
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;round&quot;&gt;round&lt;/h1&gt;

&lt;p&gt;将浮点数舍入到最近的整数，或者，如果传入的参数是一个数值的话，将浮点数舍入到参数指定的小数位。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 1.2 | round }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 2.7 | round }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | round: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;183.36
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;rstrip&quot;&gt;rstrip&lt;/h1&gt;

&lt;p&gt;将字符串右侧的所有空白字符（制表符 - tab、空格符 - space 和 回车符 - newline）删除。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;          So much room for activities!          &quot; | rstrip }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;          So much room for activities!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;size&quot;&gt;size&lt;/h1&gt;

&lt;p&gt;返回字符串中所包含的字符数或者数组中所包含的条目数量。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;size&lt;/code&gt; 还支持“点标记”（例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{{ my_string.size }}&lt;/code&gt;）。这种用法便于你在标签（tag）中使用 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;size&lt;/code&gt; 过滤器，例如条件判断标签（tag）。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | size }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;28
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;apples, oranges, peaches, plums&quot; | split: &quot;, &quot; %}

{{ my_array | size }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;使用“点标记”：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if site.pages.size &amp;gt; 10 %}
  This is a big website!
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;slice&quot;&gt;slice&lt;/h1&gt;

&lt;p&gt;只传入一个参数时将返回此参数作为下标所对应的单个字符。第二个参数是可选的，用于指定返回的子字符串的长度。&lt;/p&gt;

&lt;p&gt;String indices are numbered starting from 0.&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Liquid&quot; | slice: 0 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;L
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Liquid&quot; | slice: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;q
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Liquid&quot; | slice: 2, 5 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;quid
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the first parameter is a negative number, the indices are counted from the end of the string:&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Liquid&quot; | slice: -3, 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ui
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;sort&quot;&gt;sort&lt;/h1&gt;

&lt;p&gt;对数组中的所有进行排序。排序后的数组是按照区分大小写的顺序排列的。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;zebra, octopus, giraffe, Sally Snake&quot; | split: &quot;, &quot; %}

{{ my_array | sort | join: &quot;, &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Sally Snake, giraffe, octopus, zebra
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;sort_natural&quot;&gt;sort_natural&lt;/h1&gt;

&lt;p&gt;对数组进行排序，并且大小写无关。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;zebra, octopus, giraffe, Sally Snake&quot; | split: &quot;, &quot; %}

{{ my_array | sort_natural | join: &quot;, &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;giraffe, octopus, Sally Snake, zebra
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;split&quot;&gt;split&lt;/h1&gt;

&lt;p&gt;根据参数传入的分隔符将字符串分解为数组。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;split&lt;/code&gt; 通常被用于将以逗号为分隔符的字符串转换为数组。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign beatles = &quot;John, Paul, George, Ringo&quot; | split: &quot;, &quot; %}

{% for member in beatles %}
  {{ member }}
{% endfor %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  John

  Paul

  George

  Ringo
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;strip&quot;&gt;strip&lt;/h1&gt;

&lt;p&gt;删除字符串左右两侧的所有空白符号（包括制表符、空格、换行符）。对于字符串中间的空白符不做任何处理。&lt;/p&gt;

&lt;p&gt;Input&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;          So much room for activities!          &quot; | strip }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;So much room for activities!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;strip_html&quot;&gt;strip_html&lt;/h1&gt;

&lt;p&gt;从字符串中删除所有 HTML 标签。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Have &amp;lt;em&amp;gt;you&amp;lt;/em&amp;gt; read &amp;lt;strong&amp;gt;Ulysses&amp;lt;/strong&amp;gt;?&quot; | strip_html }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Have you read Ulysses?
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;strip_newlines&quot;&gt;strip_newlines&lt;/h1&gt;

&lt;p&gt;从字符串中删除所有换行字符（newline character）。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% capture string_with_newlines %}
Hello
there
{% endcapture %}

{{ string_with_newlines | strip_newlines }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Hellothere
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;times&quot;&gt;times&lt;/h1&gt;

&lt;p&gt;将一个数乘以另一个数。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 3 | times: 2 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;6
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 24 | times: 7 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;168
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ 183.357 | times: 12 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;2200.284
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;truncate&quot;&gt;truncate&lt;/h1&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truncate&lt;/code&gt; 将字符串截短为指定的字符个数。如果指定的字符数量小于字符串的长度，则会在字符串末尾添加一个省略号(…) 并将此省略号计入字符个数中。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncate: 20 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control to...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;自定义省略号&quot;&gt;自定义省略号&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truncate&lt;/code&gt; 还支持第二个可选参数，用于指定一个字符序列，此字符序列将被添加到截短字符串的后面。默认是省略号(…)，但是你可以按照你的需要传递一个新的。&lt;/p&gt;

&lt;p&gt;第二个参数的长度将被计入第一个参数的字符个数中。例如，如果你希望将字符串截短为 10 个字符，并且使用由 3 个字符组成的省略号，这时，你需要将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truncate&lt;/code&gt; 的第一个参数设置为 &lt;strong&gt;13&lt;/strong&gt;，是因为需要计入省略号的 3 个字符。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncate: 25, &quot;, and so on&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control, and so on
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;无省略号&quot;&gt;无省略号&lt;/h3&gt;

&lt;p&gt;你可以将字符串按照第一个参数截短为指定长度，并且可以通过传递一个空字符作为第二个参数，从而让截短之后的字符串不显示省略号。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncate: 20, &quot;&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control to Ma
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;truncatewords&quot;&gt;truncatewords&lt;/h1&gt;

&lt;p&gt;将字符串截短为指定的单词个数。如果指定的单词数量小于字符串中包含的单词个数，则会在字符串末尾添加一个省略号(…)。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncatewords: 3 }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control to...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;自定义省略号-1&quot;&gt;自定义省略号&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truncatewords&lt;/code&gt; 还支持第二个可选参数，用于指定一个字符序列，此字符序列将被添加到截短字符串的后面。默认是省略号(…)，但是你可以按照你的需要传递一个新的。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncatewords: 3, &quot;--&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control to--
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;无省略号-1&quot;&gt;无省略号&lt;/h3&gt;

&lt;p&gt;如果你不希望在末尾添加省略号，可以将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;truncatewords&lt;/code&gt; 的第二个参数设置为空字符串：&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Ground control to Major Tom.&quot; | truncatewords: 3, &quot;&quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Ground control to
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;uniq&quot;&gt;uniq&lt;/h1&gt;

&lt;p&gt;删除数组中的所有冗余项。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% assign my_array = &quot;ants, bugs, bees, bugs, ants&quot; | split: &quot;, &quot; %}

{{ my_array | uniq | join: &quot;, &quot; }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ants, bugs, bees
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;upcase&quot;&gt;upcase&lt;/h1&gt;

&lt;p&gt;将字符串中的每个字符都转换为大写形式。对于已经全是大写的字符串不做任何操作。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Parker Moore&quot; | upcase }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;PARKER MOORE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;APPLE&quot; | upcase }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;APPLE
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;url_decode&quot;&gt;url_decode&lt;/h1&gt;

&lt;p&gt;对于作为 URL 进行编码或通过 &lt;a href=&quot;https://liquid.bootcss.com/filters/url_encode&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;url_encode&lt;/code&gt;&lt;/a&gt; 编码的字符串进行解码。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;%27Stop%21%27+said+Fred&quot; | url_decode }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;'Stop!' said Fred
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;url_encode&quot;&gt;url_encode&lt;/h1&gt;

&lt;p&gt;将字符串中非 URL 安全的字符转换为百分号编码（percent-encoded）的字符。&lt;/p&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;john@liquid.com&quot; | url_encode }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;john%40liquid.com
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输入&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{{ &quot;Tetsuro Takara&quot; | url_encode }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;输出&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Tetsuro+Takara
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>UnknownX1</name></author><category term="Liuqid" /></entry><entry><title type="html">HCIA-Datacom</title><link href="https://unknownx1.github.io/HCIA-Datacom-V1.0-%E5%8D%8E%E4%B8%BA%E8%AE%A4%E8%AF%81%E6%95%B0%E9%80%9A%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%9C%A8%E7%BA%BF%E8%AF%BE%E7%A8%8B/" rel="alternate" type="text/html" title="HCIA-Datacom" /><published>2022-04-03T00:00:00+00:00</published><updated>2022-04-03T00:00:00+00:00</updated><id>https://unknownx1.github.io/HCIA-Datacom%20V1.0%20%E5%8D%8E%E4%B8%BA%E8%AE%A4%E8%AF%81%E6%95%B0%E9%80%9A%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%9C%A8%E7%BA%BF%E8%AF%BE%E7%A8%8B</id><content type="html" xml:base="https://unknownx1.github.io/HCIA-Datacom-V1.0-%E5%8D%8E%E4%B8%BA%E8%AE%A4%E8%AF%81%E6%95%B0%E9%80%9A%E5%B7%A5%E7%A8%8B%E5%B8%88%E5%9C%A8%E7%BA%BF%E8%AF%BE%E7%A8%8B/">&lt;h1 id=&quot;hcia-datacom-v10-华为认证数通工程师在线课程&quot;&gt;HCIA-Datacom V1.0 华为认证数通工程师在线课程&lt;/h1&gt;

&lt;h2 id=&quot;一数据通信网络基础&quot;&gt;一、数据通信网络基础&lt;/h2&gt;

&lt;h3 id=&quot;10-本章包含内容&quot;&gt;1.0 本章包含内容&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;网络通信基本概念&lt;/li&gt;
  &lt;li&gt;数据通信网络基本概念&lt;/li&gt;
  &lt;li&gt;网络类型与网络拓扑&lt;/li&gt;
  &lt;li&gt;网络工程与网络工程师定义&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;11-通信与网络&quot;&gt;1.1 通信与网络&lt;/h3&gt;

&lt;h4 id=&quot;111-网络通信的基本概念&quot;&gt;1.1.1 网络通信的基本概念&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403231555624.png&quot; alt=&quot;image-20220403231555624&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403231920757.png&quot; alt=&quot;image-20220403231920757&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403231959110.png&quot; alt=&quot;image-20220403231959110&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232209192.png&quot; alt=&quot;image-20220403232209192&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232223573.png&quot; alt=&quot;image-20220403232223573&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232420999.png&quot; alt=&quot;image-20220403232420999&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;112-数据通信网络基本概念&quot;&gt;1.1.2 数据通信网络基本概念&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232831806.png&quot; alt=&quot;image-20220403232831806&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232930013.png&quot; alt=&quot;image-20220403232930013&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403232944426.png&quot; alt=&quot;image-20220403232944426&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233022080.png&quot; alt=&quot;image-20220403233022080&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233150144.png&quot; alt=&quot;image-20220403233150144&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233207646.png&quot; alt=&quot;image-20220403233207646&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233302082.png&quot; alt=&quot;image-20220403233302082&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233342962.png&quot; alt=&quot;image-20220403233342962&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;12-网络类型与网络拓补&quot;&gt;1.2 网络类型与网络拓补&lt;/h3&gt;

&lt;h4 id=&quot;121-网络类型&quot;&gt;1.2.1 网络类型&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233703546.png&quot; alt=&quot;image-20220403233703546&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233744935.png&quot; alt=&quot;image-20220403233744935&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233754896.png&quot; alt=&quot;image-20220403233754896&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403233859710.png&quot; alt=&quot;image-20220403233859710&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;122-网络拓补&quot;&gt;1.2.2 网络拓补&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403235602794.png&quot; alt=&quot;image-20220403235602794&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403235754019.png&quot; alt=&quot;image-20220403235754019&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403235806784.png&quot; alt=&quot;image-20220403235806784&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220403235815265.png&quot; alt=&quot;image-20220403235815265&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;131-网络工程与网络工程师定义&quot;&gt;1.3.1 网络工程与网络工程师定义&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404012649194.png&quot; alt=&quot;image-20220404012649194&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404012732002.png&quot; alt=&quot;image-20220404012732002&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404012836901.png&quot; alt=&quot;image-20220404012836901&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404012848504.png&quot; alt=&quot;image-20220404012848504&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404013254453.png&quot; alt=&quot;image-20220404013254453&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;二网络参考模型&quot;&gt;二、网络参考模型&lt;/h2&gt;

&lt;h3 id=&quot;20-本章包含内容&quot;&gt;2.0 本章包含内容&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;应用和数据&lt;/li&gt;
  &lt;li&gt;网络参考模型与标准协议&lt;/li&gt;
  &lt;li&gt;数据通信过程&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;21-应用和数据&quot;&gt;2.1 应用和数据&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404014712426.png&quot; alt=&quot;image-20220404014712426&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404014751504.png&quot; alt=&quot;image-20220404014751504&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404014816432.png&quot; alt=&quot;image-20220404014816432&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;22-网络参考模型与标准协议&quot;&gt;2.2 网络参考模型与标准协议&lt;/h3&gt;

&lt;h4 id=&quot;221-osi参考模型&quot;&gt;2.2.1 OSI参考模型&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404015030906.png&quot; alt=&quot;image-20220404015030906&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404015040437.png&quot; alt=&quot;image-20220404015040437&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;222-tcpip参考模型与标准协议&quot;&gt;2.2.2 TCP/IP参考模型与标准协议&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404015208706.png&quot; alt=&quot;image-20220404015208706&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404015223621.png&quot; alt=&quot;image-20220404015223621&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/image-20220404015237144.png&quot; alt=&quot;image-20220404015237144&quot; /&gt;&lt;/p&gt;</content><author><name>UnknownX1</name></author><category term="华为" /></entry><entry><title type="html">Java 基础语法</title><link href="https://unknownx1.github.io/Java-%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/" rel="alternate" type="text/html" title="Java 基础语法" /><published>2022-04-02T00:00:00+00:00</published><updated>2022-04-02T00:00:00+00:00</updated><id>https://unknownx1.github.io/Java%20%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95</id><content type="html" xml:base="https://unknownx1.github.io/Java-%E5%9F%BA%E7%A1%80%E8%AF%AD%E6%B3%95/">&lt;h1 id=&quot;java-基础语法&quot;&gt;Java 基础语法&lt;/h1&gt;

&lt;p&gt;一个 Java 程序可以认为是一系列对象的集合，而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;对象&lt;/strong&gt;：对象是类的一个实例，有状态和行为。例如，一条狗是一个对象，它的状态有：颜色、名字、品种；行为有：摇尾巴、叫、吃等。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;类&lt;/strong&gt;：类是一个模板，它描述一类对象的行为和状态。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;方法&lt;/strong&gt;：方法就是行为，一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;实例变量&lt;/strong&gt;：每个对象都有独特的实例变量，对象的状态由这些实例变量的值决定。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;第一个java程序&quot;&gt;第一个Java程序&lt;/h2&gt;

&lt;p&gt;下面看一个简单的 Java 程序，它将输出字符串 &lt;em&gt;Hello World&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;实例&quot;&gt;实例&lt;/h2&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;HelloWorld&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;cm&quot;&gt;/* 第一个Java程序
     * 它将输出字符串 Hello World
     */&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;// 输出 Hello World&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;https://www.runoob.com/try/runcode.php?filename=HelloWorld2&amp;amp;type=java&quot;&gt;运行实例 »&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/662E827A-FA32-4464-B0BD-40087F429E98.jpg&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;下面将逐步介绍如何保存、编译以及运行这个程序：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;打开代码编辑器，把上面的代码添加进去；&lt;/li&gt;
  &lt;li&gt;把文件名保存为：HelloWorld.java；&lt;/li&gt;
  &lt;li&gt;打开 cmd 命令窗口，进入目标文件所在的位置，假设是 C:\&lt;/li&gt;
  &lt;li&gt;在命令行窗口输入 &lt;strong&gt;javac HelloWorld.java&lt;/strong&gt; 按下回车键编译代码。如果代码没有错误，cmd 命令提示符会进入下一行（假设环境变量都设置好了）。&lt;/li&gt;
  &lt;li&gt;再键输入 &lt;strong&gt;java HelloWorld&lt;/strong&gt; 按下回车键就可以运行程序了&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;你将会在窗口看到 Hello World&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ javac HelloWorld.java
$ java HelloWorld 
Hello World
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果遇到编码问题，我们可以使用 &lt;strong&gt;-encoding&lt;/strong&gt; 选项设置 &lt;strong&gt;utf-8&lt;/strong&gt; 来编译：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;javac -encoding UTF-8 HelloWorld.java 
java HelloWorld 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Gif 图演示：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-HelloWorld.gif&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;基本语法&quot;&gt;基本语法&lt;/h2&gt;

&lt;p&gt;编写 Java 程序时，应注意以下几点：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;大小写敏感&lt;/strong&gt;：Java 是大小写敏感的，这就意味着标识符 Hello 与 hello 是不同的。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;类名&lt;/strong&gt;：对于所有的类来说，类名的首字母应该大写。如果类名由若干单词组成，那么每个单词的首字母应该大写，例如 &lt;strong&gt;MyFirstJavaClass&lt;/strong&gt; 。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;方法名&lt;/strong&gt;：所有的方法名都应该以小写字母开头。如果方法名含有若干单词，则后面的每个单词首字母大写。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;源文件名&lt;/strong&gt;：源文件名必须和类名相同。当保存文件的时候，你应该使用类名作为文件名保存（切记 Java 是大小写敏感的），文件名的后缀为 &lt;strong&gt;.java&lt;/strong&gt;。（如果文件名和类名不相同则会导致编译错误）。&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;主方法入口&lt;/strong&gt;：所有的 Java 程序由 &lt;strong&gt;public static void main(String[] args)&lt;/strong&gt; 方法开始执行。&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-标识符&quot;&gt;Java 标识符&lt;/h2&gt;

&lt;p&gt;Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。&lt;/p&gt;

&lt;p&gt;关于 Java 标识符，有以下几点需要注意：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;所有的标识符都应该以字母（A-Z 或者 a-z）,美元符（$）、或者下划线（_）开始&lt;/li&gt;
  &lt;li&gt;首字符之后可以是字母（A-Z 或者 a-z）,美元符（$）、下划线（_）或数字的任何字符组合&lt;/li&gt;
  &lt;li&gt;关键字不能用作标识符&lt;/li&gt;
  &lt;li&gt;标识符是大小写敏感的&lt;/li&gt;
  &lt;li&gt;合法标识符举例：age、$salary、_value、__1_value&lt;/li&gt;
  &lt;li&gt;非法标识符举例：123abc、-salary&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java修饰符&quot;&gt;Java修饰符&lt;/h2&gt;

&lt;p&gt;像其他语言一样，Java可以使用修饰符来修饰类中方法和属性。主要有两类修饰符：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;访问控制修饰符 : default, public , protected, private&lt;/li&gt;
  &lt;li&gt;非访问控制修饰符 : final, abstract, static, synchronized&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在后面的章节中我们会深入讨论 Java 修饰符。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-变量&quot;&gt;Java 变量&lt;/h2&gt;

&lt;p&gt;Java 中主要有如下几种类型的变量&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;局部变量&lt;/li&gt;
  &lt;li&gt;类变量（静态变量）&lt;/li&gt;
  &lt;li&gt;成员变量（非静态变量）&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-数组&quot;&gt;Java 数组&lt;/h2&gt;

&lt;p&gt;数组是储存在堆上的对象，可以保存多个同类型变量。在后面的章节中，我们将会学到如何声明、构造以及初始化一个数组。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-枚举&quot;&gt;Java 枚举&lt;/h2&gt;

&lt;p&gt;Java 5.0引入了枚举，枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。&lt;/p&gt;

&lt;p&gt;例如，我们为果汁店设计一个程序，它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。&lt;/p&gt;

&lt;h3 id=&quot;实例-1&quot;&gt;实例&lt;/h3&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FreshJuice&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
   &lt;span class=&quot;kd&quot;&gt;enum&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FreshJuiceSize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;SMALL&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;MEDIUM&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;LARGE&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   &lt;span class=&quot;nc&quot;&gt;FreshJuiceSize&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
 
&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FreshJuiceTest&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
   &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
      &lt;span class=&quot;nc&quot;&gt;FreshJuice&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;juice&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FreshJuice&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;juice&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FreshJuice&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;FreshJuiceSize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;MEDIUM&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;枚举可以单独声明或者声明在类里面。方法、变量、构造函数也可以在枚举中定义。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-关键字&quot;&gt;Java 关键字&lt;/h2&gt;

&lt;p&gt;下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;类别&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;关键字&lt;/th&gt;
      &lt;th style=&quot;text-align: left&quot;&gt;说明&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;访问控制&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;private&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;私有的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;protected&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;受保护的&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;public&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;公共的&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;default&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;默认&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;类、方法和变量修饰符&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;abstract&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;声明抽象&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;class&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;类&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;extends&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;扩充,继承&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;final&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;最终值,不可改变的&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;implements&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;实现（接口）&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;interface&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;接口&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;native&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;本地，原生方法（非 Java 实现）&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;new&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;新,创建&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;static&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;静态&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;strictfp&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;严格,精准&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;synchronized&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;线程,同步&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;transient&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;短暂&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;volatile&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;易失&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;程序控制语句&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;break&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;跳出循环&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;case&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;定义一个值以供 switch 选择&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;continue&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;继续&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;default&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;默认&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;do&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;运行&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;else&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;否则&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;for&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;循环&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;if&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;如果&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;instanceof&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;实例&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;return&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;返回&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;switch&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;根据值选择执行&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;while&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;循环&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;错误处理&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;assert&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;断言表达式是否为真&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;catch&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;捕捉异常&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;finally&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;有没有异常都执行&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;throw&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;抛出一个异常对象&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;throws&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;声明一个异常可能被抛出&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;try&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;捕获异常&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;包相关&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;import&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;引入&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;package&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;包&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;基本类型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;boolean&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;布尔型&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;byte&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;字节型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;char&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;字符型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;double&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;双精度浮点&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;float&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;单精度浮点&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;int&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;整型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;long&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;长整型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;short&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;短整型&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;变量引用&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;super&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;父类,超类&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;this&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;本类&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;void&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;无返回值&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;保留关键字&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;goto&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;是关键字，但不能使用&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;const&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt;是关键字，但不能使用&lt;/td&gt;
      &lt;td style=&quot;text-align: left&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;Java 的 null 不是关键字，类似于 true 和 false，它是一个字面常量，不允许作为标识符使用。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java注释&quot;&gt;Java注释&lt;/h2&gt;

&lt;p&gt;类似于 C/C++、Java 也支持单行以及多行注释。注释中的字符将被 Java 编译器忽略。&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;HelloWorld&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
   &lt;span class=&quot;cm&quot;&gt;/* 这是第一个Java程序
    * 它将输出 Hello World
    * 这是一个多行注释的示例
    */&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){&lt;/span&gt;
       &lt;span class=&quot;c1&quot;&gt;// 这是单行注释的示例&lt;/span&gt;
       &lt;span class=&quot;cm&quot;&gt;/* 这个也是单行注释的示例 */&lt;/span&gt;
       &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-空行&quot;&gt;Java 空行&lt;/h2&gt;

&lt;p&gt;空白行或者有注释的行，Java 编译器都会忽略掉。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;继承&quot;&gt;继承&lt;/h2&gt;

&lt;p&gt;在 Java 中，一个类可以由其他类派生。如果你要创建一个类，而且已经存在一个类具有你所需要的属性或方法，那么你可以将新创建的类继承该类。&lt;/p&gt;

&lt;p&gt;利用继承的方法，可以重用已存在类的方法和属性，而不用重写这些代码。被继承的类称为超类（super class），派生类称为子类（sub class）。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;接口&quot;&gt;接口&lt;/h2&gt;

&lt;p&gt;在 Java 中，接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。&lt;/p&gt;

&lt;p&gt;接口只定义派生要用到的方法，但是方法的具体实现完全取决于派生类。&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;java-源程序与编译型运行区别&quot;&gt;Java 源程序与编译型运行区别&lt;/h2&gt;

&lt;p&gt;如下图所示：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/ZSSDMld.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;下一节介绍 Java 编程中的类和对象。之后你将会对 Java 中的类和对象有更清楚的认识。&lt;/p&gt;</content><author><name>菜鸟教程</name></author><category term="Java" /></entry><entry><title type="html">Java 开发环境配置</title><link href="https://unknownx1.github.io/Java-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/" rel="alternate" type="text/html" title="Java 开发环境配置" /><published>2022-04-02T00:00:00+00:00</published><updated>2022-04-02T00:00:00+00:00</updated><id>https://unknownx1.github.io/Java%20%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE</id><content type="html" xml:base="https://unknownx1.github.io/Java-%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/">&lt;h1 id=&quot;java-开发环境配置&quot;&gt;Java 开发环境配置&lt;/h1&gt;

&lt;p&gt;在本章节中我们将为大家介绍如何搭建Java开发环境。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.runoob.com/java/java-environment-setup.html#win-install&quot;&gt;Windows 上安装开发环境&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.runoob.com/java/java-environment-setup.html#linux-install&quot;&gt;Linux 上安装开发环境&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.runoob.com/java/java-environment-setup.html#eclipse-install&quot;&gt;安装 Eclipse 运行 Java&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;window系统安装java&quot;&gt;window系统安装java&lt;/h2&gt;

&lt;h3 id=&quot;下载jdk&quot;&gt;下载JDK&lt;/h3&gt;

&lt;p&gt;首先我们需要下载 java 开发工具包 JDK，下载地址：https://www.oracle.com/java/technologies/downloads/，在下载页面中根据自己的系统选择对应的版本，本文以 Window 64位系统为例：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/jdk-download.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;下载后 JDK 的安装根据提示进行，还有安装 JDK 的时候也会安装 JRE，一并安装就可以了。&lt;/p&gt;

&lt;p&gt;安装JDK，安装过程中可以自定义安装目录等信息，例如我们选择安装目录为 &lt;strong&gt;C:\Program Files (x86)\Java\jdk1.8.0_91&lt;/strong&gt;。&lt;/p&gt;

&lt;h3 id=&quot;配置环境变量&quot;&gt;配置环境变量&lt;/h3&gt;

&lt;p&gt;1.安装完成后，右击”我的电脑”，点击”属性”，选择”高级系统设置”；&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/win-java1.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;2.选择”高级”选项卡，点击”环境变量”；&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win2.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;然后就会出现如下图所示的画面：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win3.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;在 “系统变量” 中设置 3 项属性，JAVA_HOME、PATH、CLASSPATH(大小写无所谓),若已存在则点击”编辑”，不存在则点击”新建”。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;如果使用 1.5 以上版本的 JDK，不用设置 CLASSPATH 环境变量，也可以正常编译和运行 Java 程序。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;变量设置参数如下：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;变量名：&lt;strong&gt;JAVA_HOME&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;变量值：&lt;strong&gt;C:\Program Files (x86)\Java\jdk1.8.0_91&lt;/strong&gt;     // 要根据自己的实际路径配置&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;变量名：&lt;strong&gt;CLASSPATH&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;变量值：&lt;strong&gt;.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;&lt;/strong&gt;     //记得前面有个”.”&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;变量名：&lt;strong&gt;Path&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;变量值：&lt;strong&gt;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;java_home-设置&quot;&gt;JAVA_HOME 设置&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win4.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win5.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;path设置&quot;&gt;PATH设置&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win6.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win7.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt;在 Windows10 中，Path 变量里是分条显示的，我们需要将 &lt;strong&gt;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;&lt;/strong&gt; 分开添加，否则无法识别：&lt;/p&gt;

  &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;  &lt;/div&gt;

  &lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/44A70696-B2E6-4055-B88F-7FC0222DCCA4.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

  &lt;p&gt;更多内容可参考：&lt;a href=&quot;https://www.runoob.com/w3cnote/windows10-java-setup.html&quot;&gt;Windows 10 配置Java 环境变量&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;classpath-设置&quot;&gt;CLASSPATH 设置&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win8.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这是 Java 的环境配置，配置完成后，你可以启动 Eclipse 来编写代码，它会自动完成java环境的配置。&lt;/p&gt;

&lt;h3 id=&quot;测试jdk是否安装成功&quot;&gt;测试JDK是否安装成功&lt;/h3&gt;

&lt;p&gt;1、”开始”-&amp;gt;”运行”，键入”cmd”；&lt;/p&gt;

&lt;p&gt;2、键入命令: &lt;strong&gt;java -version&lt;/strong&gt;、&lt;strong&gt;java&lt;/strong&gt;、&lt;strong&gt;javac&lt;/strong&gt; 几个命令，出现以下信息，说明环境变量配置成功；&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/java-win9.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;linuxunixsolarisfreebsd环境变量设置&quot;&gt;Linux，UNIX，Solaris，FreeBSD环境变量设置&lt;/h2&gt;

&lt;p&gt;环境变量PATH应该设定为指向Java二进制文件安装的位置。如果设置遇到困难，请参考shell文档。&lt;/p&gt;

&lt;p&gt;例如，假设你使用bash作为shell，你可以把下面的内容添加到你的 .bashrc文件结尾: export PATH=/path/to/java:$PATH&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;流行java开发工具&quot;&gt;流行JAVA开发工具&lt;/h2&gt;

&lt;p&gt;正所谓工欲善其事必先利其器，我们在开发java语言过程中同样需要一款不错的开发工具，目前市场上的IDE很多，本文为大家推荐以下下几款java开发工具：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Eclipse（推荐）:&lt;/strong&gt;另一个免费开源的java IDE，下载地址： http://www.eclipse.org/downloads/packages/&lt;/p&gt;

    &lt;p&gt;选择 &lt;strong&gt;Eclipse IDE for Java Developers&lt;/strong&gt;：
&lt;img src=&quot;https://www.runoob.com/wp-content/uploads/2013/12/5A92DEAE-EFB9-493D-AC4D-808E529B533C.jpg&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;JetBrains&lt;/strong&gt; 的 IDEA， 现在很多人开始使用了，功能很强大，下载地址：https://www.jetbrains.com/idea/download/&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Notepad++ :&lt;/strong&gt; Notepad++ 是在微软视窗环境之下的一个免费的代码编辑器，下载地址：&lt;a href=&quot;http://notepad-plus-plus.org/&quot;&gt; http://notepad-plus-plus.org/&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Netbeans:&lt;/strong&gt;开源免费的java IDE，下载地址： http://www.netbeans.org/index.html&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;使用-eclipse-运行第一个-java-程序&quot;&gt;使用 Eclipse 运行第一个 Java 程序&lt;/h3&gt;

&lt;p&gt;视频演示如下所示：&lt;/p&gt;

&lt;video controls=&quot;&quot; __idm_id__=&quot;1482753&quot; style=&quot;display: block; color: rgb(51, 51, 51); font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, &amp;quot;Hiragino Sans GB&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Noto Sans CJK SC&amp;quot;, &amp;quot;WenQuanYi Micro Hei&amp;quot;, Arial, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 536.23px;&quot;&gt;&lt;/video&gt;

&lt;p&gt;HelloWorld.java 文件代码：&lt;/p&gt;

&lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;HelloWorld&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;[]&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;System&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;println&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>菜鸟教程</name></author><category term="Java" /></entry></feed>