YAML: 文件格式
2025-02-17
基本语法
YAML 是一种人类可读的数据序列化语言,常用于配置文件。它的设计目标是方便人类读写。
基本规则
缩进要求
- 使用空格进行缩进
- 不允许使用 Tab
- 相同层级左侧对齐
基本规则
- 大小写敏感
- "#" 开头表示注释
- 使用 "---" 分隔文档
数据类型
1. 对象/字典
# 对象
name: John Smith
age: 30
address:
street: 123 Main St
city: Boston
country: USA2. 数组/列表
# 数组
colors:
- Red # 列表项 1
- Blue # 列表项 2
- Green # 列表项 3
# 行内数组写法
colors: [Red, Blue, Green]3. 纯量(Scalar)
# 字符串
string1: Hello World # 不含特殊字符
string2: "Hello World" # 包含特殊字符时使用引号
# 数字
integer: 123 # 整数
float: 12.30 # 浮点数
# 布尔值
boolean1: true # 真
boolean2: false # 假
# 空值
null_value: null # 或 ~高级特性
1. 多行字符串
# 使用 | 保留换行符
description: |
这是一段
多行文本
保留换行符
# 使用 > 折叠换行符
message: >
这是一段
多行文本
转换为空格2. 引用和锚点
# 定义锚点
defaults: &defaults
timeout: 30
retries: 3
# 引用锚点
development:
<<: *defaults # 继承 defaults
host: dev.example.com
production:
<<: *defaults # 继承 defaults
host: prod.example.com3. 复杂结构示例
# 完整的应用配置示例
app:
name: myapp
version: 1.0.0
database:
host: localhost
port: 5432
credentials: &db_creds # 定义锚点
user: admin
password: secret
services:
- name: web
port: 8080
database: *db_creds # 引用锚点
- name: api
port: 3000
database: *db_creds # 引用相同配置最佳实践
可读性
- 使用一致的缩进
- 添加适当的注释
- 合理使用空行分隔
结构设计
- 保持层次清晰
- 适当使用锚点和引用
- 避免过深的嵌套
注意:
- 注意空格的使用
- 谨慎使用特殊字符
- 验证 YAML 语法
参考资料: