前言
若是接触过编程数据结构的,对这个上手贼快.
写过json这些的…主要关注下缩进这些,理解下概念即可!
这里只列出非常高频且通用性高的使用姿势,个别骚姿势自行去提案了解!
写法及注释
值得一提的是:
- 文件首行
%YAML version
,可以指定使用yaml的版本 - 键值对的冒号必须跟随空格才是标准的写法,不然会被当初一个字符串!
- 大小写敏感
- 声明的
key
必须为字符串 - 使用空格缩进(不允许tab)
#
行开头到行尾为注释区域- 值允许的类型有
str
: 字符串int | float
: 整形及浮点型list(array)
: 可以理解为数组map(dict)
: 不同语言叫法不一样, 字典算是比较通用的解释null(~)
: 空值date
: iso-8601标准的日期格式
%YAML 1.2
---
# 这是一条注释,跟bash一样,#号开头
# 最常见的字符串声明,默认会自带单引号(会转义)
text: 我是测试文本
text1: '我是测试文本1'
text2: '我会被转义\n,因为单引号会对需要转义的进行转义'
text3: "双引号则忽略需要转义的,\n\t"
text4: "这是多行文本
换行的需要空格缩进,
你可以试试"
# |后面可以追加+(保留换行符,默认),-移除每行字符串末尾换行符
text5: |
这种多行文本可读性比较强
类似数组,整齐排列
# 也支持+-,同样是控制换行符
text6: >
这是折叠换行的姿势
会在最后一行末尾保留换行符
试试不就知道了
# 空值,日期声明
isEmpty: ~
isEmpty2: null
date: 2020-07-15
#一维数组的写法(也能理解为列表)
# 写法一
language: ['c','c++']
# 写法二
hight_language:
- 'python'
- 'java'
# 二维数组
# 写法一
testNestedArr1:
- [1,2,3]
- [4,5,6]
# 写法二, 依托缩进
testNestedArr2:
-