魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Language - YAML

文章摘要: YAML(YAML Ain’t Markup Language)是一种直观的数据序列化格式,常用于配置文件、数据交换等场景。

介绍

简要说明

  • YAML(YAML Ain’t Markup Language)是一种直观的数据序列化格式,用于配置文件、数据交换等。

主要功能

  • 容易阅读。
  • 容易与脚本语言交互。
  • 以数据为核心,注重数据,轻格式。

注意事项

  • 使用缩进来表示数据层次结构,而不是括号或引号。
  • .yml(推荐)、.yaml

适用场景

  • 需要清晰、简洁配置的场合。
  • 云计算配置文件,如Docker、Kubernetes。
  • 大数据和复杂配置管理。

表达式

  • ${}:引用变量,得到数据
  • 引用yaml文件中的其他变量到自身变量中。

注释

# 这是一个YAML文件的示例
name: "Alice" # 用户的姓名
age: 30       # 用户的年龄
# 下面的数组列出了用户喜欢的编程语言
languages:
  - Python
  - JavaScript
  - Ruby

数据类型

基本数据类型

# 字符串
simple_string: Hello, YAML!
quoted_string: "This is a quoted string."
single_quoted_string: 'This is a single-quoted string.'
# 空字符串
empty_string: ''

# 整数
integer: 42

# 浮点数
float: 3.14159

# 布尔值
boolean_true: true
boolean_false: false

# 空值
null_value: null

# 
empty_value: ~

键值对

  • 键值对数据,对象数据
name: Alice
age: 30
is_student: false

数组

fruits:
  - Apple
  - Banana
  - Cherry
fruits: [Apple, Banana, Cherry]

嵌套对象

user-data: {name: Bob, age: 25, address: {street: 123 Main St, city: Anytown, zip: 12345}}
user-data:
  name: Bob
  age: 25
  address:
    street: 123 Main St
    city: Anytown
    zip: 12345

数组和对象的组合

users:
  - name: Alice
    age: 30
  - name: Bob
    age: 25

日期时间

date: 2024/12/12

占位符

  • 实现调用配置文件中的其他键的值。
  • 格式:${<其他键>}

注释

  • 仅支持对其他属性的引用。
  • 不支持SpEL表达式。
name: "云脉"

agent_data:
  account: "CHN2024091700009999"
  nick_name: "测试姬"
  real_name: ${name}
  nationality: "CHN"
  gender: 0
  age: 23

占位符-随机数

# 随机任意随机数
secret: "${random.value}"

# 随机整数
number: "${random.int}"

# 随机长整数
bignumber: "${random.long}"

# 随即UUID
uuid: "${random.uuid}"

# 指定随机值的长度
number-less-than-ten: "${random.int(2)}"

# 指定整数随机数范围
number-in-range: "${random.int[1, 100]}"

使用锚点和引用

  • 使用了锚点(&defaults)和引用(*defaults)来避免重复代码。
  • development和test环境共享defaults中的配置。
defaults: &defaults
  adapter: postgres
  host: localhost

development:
  database: myapp_development
  <<: *defaults

test:
  database: myapp_test
  <<: *defaults

更新时间: 2025/11/16 17:17