YAML 锚点(Anchor)和别名(Alias)是 YAML 中用于避免重复、复用数据结构的语法机制。
&名称:定义锚点(给某个节点起名字)*名称:使用别名(引用前面定义的锚点)<<:合并锚点(常用于映射合并)defaults: &defaults
adapter: postgres
host: localhost
development:
<<: *defaults
database: dev_db
test:
<<: *defaults
database: test_db
等价于:
development:
adapter: postgres
host: localhost
database: dev_db
test:
adapter: postgres
host: localhost
database: test_db
item: &item
name: apple
price: 5
fruits:
- *item
- *item
两个列表项指向同一个对象(解析后是同一引用)。
base: &base
a: 1
b: 2
extra: &extra
c: 3
merged:
<<: *base
<<: *extra
d: 4
结果:
merged:
a: 1
b: 2
c: 3
d: 4
⚠️ 如果有键冲突,后合并的会覆盖前面的。
<< 合并(但主流都支持)如果你愿意,我也可以用 Docker Compose 或 Kubernetes 示例来演示锚点用法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。