YAML标记语言

目录

1 基本语法

2 数据类型

2.1 对象

2.2 数组

2.3 纯量

3 引用


特别适合用来表达或编辑数据结构、各种配置文件,其文件后缀为.yml。

1 基本语法

  • 大小写敏感,空格缩进表示层级关系,禁用Tab,空格数量不重要
  • # 表示注释
  • 特殊符号(如冒号:)后为避免语法错误,默认加空格

2 数据类型

  • 对象:键值对集合,类似python字典
  • 数组:类似python列表
  • 纯量:单个不可再分的值,类似C语言里的const常量。

2.1 对象

类似python字典

简单示例:

# 方式一:
key:{key1: value1, key2: value2} # 注意冒号:后有空格

# 方式二:
key:  
   key1: value1
   key2: value2

复杂示例:

? 
  - key1
  - key2
: 
  - value1
  - value2

# 表示一个数组[key1, key2] = [value1, value2]

2.2 数组

以- 开头表示一个数组,类似python列表。

# 简单示例
arrayA:[value1, value2, ...]

# 复杂示例
arrayB: 
  -  
    key1: 1
    key2: 2
  - 
    key3: 3
    key4: 4
# 类似python列表B = [{key1: 1, key2:2}, {key3: 3, key4: 4}]

# 上述复杂示例可以直接写成:arrayB: [{key1: 1, key2:2}, {key3: 3, key4: 4}]

复合结构示例:

languages:
  - C
  - C++
  - Python 
names:
  C: C语言 
  yaml: 标记语言

# 等价于json代码如下:
{
  languages: ['C', 'C++', 'Python'],
  names: {
     C: C语言 
     yaml: 标记语言
  }
}

2.3 纯量

不可再分割的值,类似C语言里的const常量。

字符串、布尔值、整数、浮点数、Null、时间、日期等

3 引用

  • & 锚点,类似创建引用对象
  • * 指明引用对象

示例:

base: &base
  key1:  value1
  key2:  value2

A:
  A0: 0
  <<: *base

B:
  B0: 0
  <<: *base


# 相当于:

base: 
  key1:  value1
  key2:  value2

A:
  A0: 0
  key1:  value1
  key2:  value2

B:
  B0: 0
  key1:  value1
  key2:  value2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值