yaml
-
大小写敏感,
-
字串不一定要用双引号标识,如果有空格或特殊字符,需要放在引号之中
-
使用缩进表示层级关系
-
缩进不允许使用Tab键,只允许使用空格。
-
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
-
# 表示注释,从这个字符一直到行尾,都会被解析器忽略。
-
在一个文件中,可同时包含多个文档,并用“---”分隔(三个横线),用“...”可以用来表示档案结尾, 对于网络传输或者流来说,作为明确结束的符号,有利于软件处理。(例如不需要知道流关闭就能知道文档结束)
YAML 数据结构
YAML 支持的数据结构有三种
-
对象:键值对的集合, 键值对用冒号 ":" 来分隔 ,冒号后面需有一个空格
-
数组:数组对象通过减号 "-" 来表示 ,减号后需有一个空格
-
纯量(scalars):单个的、不可再分的值,如字符串、数字、时间、日期、null(用~表示)
-
重复定义时,后定义的会覆盖前面定义的值
-
如果值为 int, float, bool等类型,解析后会转换为对应的类型
-
强制类型转换使用 两个!,如
!!str 12
house:
family:
name: doe
parents:
- john
- jane
children:
- pual
- mark
- simone
address:
number: 34
street: main street
city: nowhere
zipcode: 12345
num: 12.155
flag: true
who: ~
s1: !!str 123
s2: !!str true
key:value放置于{}中进行表示,例如:
address:
{number: 34, street: main street, city: nowhere, zipcode: 12345}
引用
锚点&
和别名*
,可以用来引用。
-
&
用来建立锚点,类似于声明变量 -
*
用来引用锚点,类似于引用变量 -
<<
表示合并到当前数据(如果变量名重复也会覆盖)
defaults: &defaults adapter: postgres host: localhost #development: # database: myapp_development # adapter: postgres # host: localhost development: database: myapp_development <<: *defaults test: database: myapp_test <<: *defaults
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具