如何在 yaml 文件中进行引用
Posted on Wed, 25 Dec 2024 10:32:51 +0800 by LiangMingJian
如何在 yaml 文件中进行引用
yaml 的锚点 & 与引用 *
yaml 支持使用锚点 & 与引用 * 来实现高级编程语言中变量的操作。
localhost: &local
host: 127.0.0.1
base: 0
user:
<<: *local
db: 8
book:
<<: *local
db: 9
上述的 yaml 数据中,& 表示将 local 作为 localhost 里面数据的别名,即创建一个变量 local={host: 127.0.0.1, base: 0}。
<<: *local 的含义则代表将 local 这个数据合并入当前数据,最终,上面的结果类似下述的 yaml 数据:
<<: *local中,<<代表合并,*代表引用。
localhost:
host: 127.0.0.1
base: 0
user:
host: 127.0.0.1 # 继承自 localhost
base: 0 # 继承自 localhost
db: 8
book:
host: 127.0.0.1 # 继承自 localhost
base: 0 # 继承自 localhost
db: 9
当然,同样支持只对某一个值进行锚点。
比如下面的数据,&host 创建变量 host=127.0.0.1,然后通过 *host 使用值。
localhost:
host: &host 127.0.0.1
user:
host: *host
db: 8
book:
host: *host
db: 9
上述的结果类似于:
localhost:
host: 127.0.0.1
user:
host: 127.0.0.1
db: 8
book:
host: 127.0.0.1
db: 9