YAML 基础语法及示例
2026-04-29
1
参考资料
YAML 基础语法及示例
1. 缩进
使用空格(2或4个),不能使用Tab。
同一层级缩进必须一致。
# 正确 person: name: Alice age: 30 # 错误(缩进不一致) person: name: Alice age: 30
2. 键值对
key: value 格式,冒号后必须有空格。
name: John age: 25
3. 列表(数组)
以 - 开头,元素缩进一致。
fruits: - apple - banana - orange # 或内联格式 fruits: [apple, banana, orange]
4. 字典(映射)
通过缩进嵌套。
person: name: Bob address: city: New York zip: "10001"
5. 多行字符串
保留换行(
|):保持原样折叠换行(
>):将换行替换为空格
# 保留换行 description: | Line 1 Line 2 Line 3 # 输出: "Line 1\nLine 2\nLine 3\n" # 折叠换行 summary: > This is a long summary that will be folded. # 输出: "This is a long summary that will be folded.\n"
6. 布尔值
true/false、yes/no、on/off(大小写不敏感)
active: true enabled: yes visible: off
7. 数字
整数、浮点数、科学计数法直接书写。
count: 42 pi: 3.14 speed: 1.5e3 # 1500 hex: 0x1A # 26(十六进制自动转换)
8. 空值
null 或 ~ 或空字符串(key: 不带值也会解析为 null)。
empty: null also_null: ~ nothing:
9. 注释
以 # 开头,支持行内(但部分解析器可能不支持行尾注释)。
# 这是注释 key: value # 行内注释(部分解析器支持)
10. 锚点与别名(& 和 *)
复用数据,避免重复。
defaults: &defaults adapter: postgres host: localhost production: database: prod_db <<: *defaults # 合并 defaults 的内容 # 等价于:database: prod_db, adapter: postgres, host: localhost test: database: test_db <<: *defaults
11. 类型转换(!!)
强制指定数据类型。
age: !!str 25 # 强制为字符串 "25" number: !!int "123" # 强制为整数 123
12. 多文件(--- 和 ...)
用 --- 分隔多个文档,... 表示文档结束(可选)。
--- document1: key: value ... --- document2: list: [1,2,3]
13. 特殊字符转义
使用双引号包裹可转义(" \n \t 等),单引号只保留原文字符。
# 双引号转义 str1: "He said \"hello\"\n" # 单引号不转义(内部单引号需重复) str2: 'Don''t worry' # 输出 Don't worry
14. 复杂嵌套示例
# 配置文件示例 server: host: 0.0.0.0 port: 8080 https: false databases: -
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . docker 部署》 -- 发布时间:2025-03-29
本页链接:https://docker.ciilii.com/show/news-19.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
