yaml|(yaml文件是干嘛用的)
---
title: "YAML文档简介"
date: 2021-10-20
tags: [YAML, 文档]
---
# 简介
YAML(YAML Ain't Markup Language)是一种用于数据序列化的格式化语言。它可被用作配置文件、数据序列化、消息传递等领域中,代替了XML和JSON等格式。相较于其他格式,YAML的语法更加简洁易读,适合人类阅读和编辑。
## 基本语法
YAML的基本语法采用缩进和层级表示数据的结构关系,不依赖于标记符号。具体语法规则如下:
- 使用缩进表示层级关系,缩进使用空格而非制表符;
- 使用冒号将键和值分隔;
- 使用短横线表示列表项;
- 使用井号表示注释。
## 数据结构
YAML支持多种数据结构,包括标量、序列和映射。
### 标量
标量是YAML中的最基本数据类型,可以是字符串、整数、浮点数、布尔值等等。
示例:
```
name: John Doe
age: 25
isStudent: true
```
### 序列
序列是一组有序的标量值,使用短横线表示。
示例:
```
- apple
- orange
- banana
```
### 映射
映射是一组键值对的集合,每个键值对由冒号分隔。
示例:
```
fruits:
- apple
- orange
- banana
```
## 高级特性
除了基本的数据结构,YAML还支持一些高级特性,如引用、继承和包含等。
### 引用
引用允许在不同位置引用同一节点,减少了重复的数据。
示例:
```
defaults: &defaults
name: Jane Doe
age: 30
person1:
<<: *defaults
person2:
<<: *defaults
age: 40
```
### 继承
通过继承,可以复用和扩展已有的数据结构。
示例:
```
base:
name: John Doe
age: 25
person1:
<<: *base
isStudent: true
person2:
<<: *base
isTeacher: true
```
### 包含
使用包含可以将多个YAML文件合并为一个。
示例:
```
# file1.yaml
fruits:
- apple
- orange
# file2.yaml
fruits:
- banana
- mango
# merged.yaml
<<: [file1.yaml, file2.yaml]
```
## 总结
YAML是一种简洁易读的数据序列化语言,支持多种数据结构和高级特性。通过掌握YAML的基本语法和特性,可以更高效地处理配置文件和数据序列化任务。