Yaml文件格式
介绍
YAML 是 "YAML Ain't Markup Language" 的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)
非常适合用来做以数据为中心的配置文件
官网:https://yaml.org/
github:https://github.com/yaml/www.yaml.org
基本语法
---
表示文件的开始key: value
kv之间有空格- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格,一般使用两个空格。缩进的空格数不重要,只要相同层级的元素左对齐即可
#
表示注释- 字符串无需加引号,如果要加,''与""表示字符串内容,单引号表示raw,双引号会解释内容(比如\n,如果用双引号会输出换行,解释了其中的内容)
数据类型
- 字面量:单个的、不可分割的值,date、boolean、string、number、null
- 对象:键值对的集合,map、hash、set、object
k: # 键值对
k1: v1
k2: v2
k2: {k1:v1,k2:v2} # 键值对的行内写法
- 数组:一组按次序排列的值,array、list、queue
k: # 数组
- v1
- v2
k2: [v1,v2] # 数组的行内写法:
控制符“|” “>”
在内容有多行时使用|
,>
用于替换每行的换行符为空格,+/-
用于控制最后一行之后的换行符保留一个还是多个
|
保留最后一行的一个换行符,|+
保留最后一行之后的所有换行符,|-
不保留最后一行之后的换行符
>
将每一行最后的换行符替换为空格,保留最后一行的一个换行符,>+
保留最后一行的所有换行符,>-
不保留最后一行之后的换行符
其他用法
判断某个值是否存在,存在就使用,不存在使用默认值
person:
name: zhangsan${random.uuid} # 返回一个uuid
age: ${random.int} # 返回一个随机int
birth: 2022-07-12
hobby: hi-${persion.name:no} # 存在就使用,不存在使用默认值no
---
本文来自博客园,作者:Bingmous,转载请注明原文链接:https://www.cnblogs.com/bingmous/p/15643686.html