# YAML

  • YAML 是专门用来写配置文件的语言(它可以是 "YAML Ain't a Markup Language" 亦或是 "Yet Another Markup Language")
  • YAML 数据能够存储在独立的.yml 文件中。

# YAML 语法

# 基本语法

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进不允许使用 tab,只允许空格
  • 缩进的空格数不重要,只要相同层级的元素左对齐即可
  • #表示注释

# 支持的数据类型

  • 对象:键值对的集合,又称为映射 / 哈希 / 字典
  • 数组:一组按次序排列的值,又称为序列 / 列表
  • 纯量:单个的、不可再分的值

# YAML 数组

#以 - 开头的数组
- value1
- value2
#多维数组
key: [value1, value2, ...]

# YAML 纯量

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null
  • 时间
  • 日期
bool: 
    - TRUE  #true, True 都可以
    - FALSE  #false, False 都可以
float:
    - 2.33
    - 6.8523015e+5  #可以使用科学计数法
int:
    - 233
    - 0b1110_1001  #二进制表示
null:
    nodeName: 'node'
    parent: ~  #使用~表示 null
string:
    - 你好世界
    - 'Hello world'  #可以使用双引号或者单引号包裹特殊字符
    - line1
      line2  #字符串可以拆成多行,每一行会被转化成一个空格
date:
    - 2233-02-33  #日期必须使用 ISO 8601 格式,即 yyyy-MM-dd
datetime: 
    - 2233-02-33T12:02:33+08:00  #时间使用 ISO 8601 格式,时间和日期之间使用 T 连接,最后使用 + 代表时区

# YAML 对象

  • 格式 1:key: value
  • 格式 2:key:
  • 格式 3:利用缩进表示层级关系
  • 格式 4:问号加一个空格代表一个复杂的 key,配合一个冒号加一个空格代表一个 value
#格式 3
key: 
    child-key: value
    child-key2: value2
#格式 4:对象的属性是一个数组,对应的值也是一个数组
?  
    - key1
    - key2
:
    - value1
    - value2

# 引用

#& 引用和 * 别名
#& 用来建立锚点,<< 表示合并到当前数据,* 用来引用锚点。
defaults: &defaults
    child-key1: value1
test:
    child-key2:
        - &show value2
        - value3
        - *show
    <<: *defaults
#相当于
defaults:
    child-key1: value1
test:
    child-key2:
        - value2
        - value3
        - value2
    child-key1: value1
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Maikire 微信支付

微信支付

Maikire 支付宝

支付宝

Maikire 贝宝

贝宝