yml & yaml ?
背景
-
YAML 的来历
YAML 的全称最初可能是 “Yet Another Markup Language”(又一个标记语言),后来为了凸显它是数据格式而非文档标记,被幽默地改成了 “YAML Ain’t Markup Language”(YAML 不是标记语言) -
YAML 的用途
它是“阅读友好”的数据序列化格式,简洁且结构清晰,在 DevOps、CI/CD、容器编排等各类场景里大杀四方,尤其是 Kubernetes、GitHub Actions、Docker Compose 等工具里,到处可见它的身影。
.yaml 和 .yml 的区别
-
本质上没有区别
文件后缀 .yaml 和 .yml 在语法和内容上是一样的,读取内容不受影响,解析器也统统支持。 -
为什么还存在两个?
这完全是历史造成的小插曲——早期系统(特别是 Windows)喜欢限制扩展名为三个字符,因而 .yml 应运而生。而现代系统对扩展名长度不再有限制,.yaml 已成为“推荐使用”的标准。 -
实际建议是什么?
建议新项目使用 .yaml,它更直观、标准;但旧项目或者兼容性考虑仍应支持 .yml。
YAML 的语法
- 缩进统一使用空格别用 Tab
- 保持简单清晰,别写一堆花里胡哨的嵌套
- 常用 yamllint 工具帮你验语法
- 选用有描述性的键名,便于理解和维护
# 键值对
name: Keploy
language: YAML
version: 1.0
# 列表
languages:
- Go
- Python
- JavaScript
# 嵌套
database:
host: localhost
port: 5432
username: admin