博客
关于我
编程杂项--yml
阅读量:512 次
发布时间:2019-03-07

本文共 1162 字,大约阅读时间需要 3 分钟。

YAML语言基础教程

简介

YAML(Yet Another Mark-up Language)是一种轻量级的标记语言,广泛应用于配置文件中。与JSON、XML等其他标记语言相比,YAML更适合用于数据配置,数据为中心,具有简洁易读的特点。

YAML基本规则

YAML具有以下基本规则:

  • 大小写敏感:键和值的大小写会影响结果。
  • 缩进表示层级关系:只能使用空格键进行缩进,禁止使用Tab键。
  • 缩进无限制:只要元素对齐即表示同一层级。
  • 注释方式:使用#表示注释。
  • 字符串处理:字符串可以不需要引号标注。

YAML数据类型

YAML支持以下数据类型:

  • 对象(映射):键值对集合,如 {key: value}
  • 数组(列表):按顺序排列的值,如 [value1, value2, value3]
  • 纯量:不可再分的单个值,包括字符串、布尔值、整数、浮点数、Null、时间、日期等。

YAML格式

纯量

纯量是YAML的基础,不可再分的值,常见类型包括:

  • 字符串:不需要引号包裹,可拆分多行。
str: 这是一行字符串# 转为JSON:{ "str": "这是一行字符串" }
  • 布尔值truefalse
key1: truekey2: false
  • 整数:直接写出数字。
num: 42
  • 浮点数:支持科学计数法。
num: 3.14num: 6.8523015e+5
  • Null:表示缺失值。
null: null
  • 时间日期:可以通过特定格式化方式表示。
对象

对象键值对的表示方式:

key:  key1: value1  key2: value2

或者:

key: {key1: value1, key2: value2}
数组

数组表示方式:

  • 使用-表示单项:
pets:  - cat  - dog  - pig
  • 使用方括号表示数组:
pets: [cat, dog, pig]

支持多维数组:

array:  - [A, B, C]
引用

YAML支持锚点与别名,用于引用:

  • &:创建锚点标记。
  • <<:合并当前数据。
  • *:引用锚点。

示例:

name: &a yamlbook: *abooks:  - java  - *a  - python

转换为:

name: yamlbook: yamlbooks:  - java  - yaml  - python

高级内容

分段处理

多个文档可在一个YAML文件中使用---分隔:

spring:  profiles:    active: dev---spring:  profiles:    server:      port: 8080---spring:  profiles:    prod:      port: 8082

通过分段处理,可以管理多个配置文件。

转载地址:http://zntjz.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测机制
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>