• yaml文件 .yml


      YAML文件简介

     我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟。

     YAML(Yet Another Markup Language)(发音 /ˈjæməl/ )
     一种基于Unicode容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。

    适应场景

    1. 脚本语言:由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用
    2. 序列化: YAML是由宿主语言数据类型直转,的比较适合做序列化。
    3. 配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。

    语言优点

    1. YAML易于人们阅读。
    2. YAML数据在编程语言之间是可移植的。
    3. YAML匹配敏捷语言的本机数据结构。
    4. YAML具有一致的模型来支持通用工具。
    5. YAML支持单程处理。
    6. YAML具有表现力和可扩展性。
    7. YAML易于实现和使用。

    YAML 语法

    1. 使用空格 Space 缩进表示分层,不同层次之间的缩进可以使用不同的空格数目,但是同层元素一定左对齐,即前面空格数目相同(不能使用 Tab,各个系统 Tab对应的 Space 数目可能不同,导致层次混乱)
    2. ‘#’表示注释,只能单行注释,从#开始处到行尾
    3. 破折号后面跟一个空格(a dash and space)表示列表
    4. 用冒号和空格表示键值对 key: value
    5. 简单数据(scalars,标量数据)可以不使用引号括起来,包括字符串数据。用单引号或者双引号括起来的被当作字符串数据,在单引号或双引号中使用C风格的转义字符

    Sequence of Scalars  简单数据列表

    [plain] view plain copy
     
    1. - Mark McGwire  
    2. - Sammy Sosa  
    3. - Ken Griffey  

    Mapping Scalars to Scalars 简单数据键值对以及注释

    [plain] view plain copy
     
    1. hr:  65    # Home runs  
    2. avg: 0.278 # Batting average  
    3. rbi: 147   # Runs Batted In  

    Mapping Scalars to Sequences 简单数据列表键值对

    [plain] view plain copy
     
    1. american:  
    2.   - Boston Red Sox  
    3.   - Detroit Tigers  
    4.   - New York Yankees  
    5. national:  
    6.   - New York Mets  
    7.   - Chicago Cubs  
    8.   - Atlanta Braves  

    Sequence of Mappings 键值对列表 

    [plain] view plain copy
     
    1. -  
    2.   name: Mark McGwire  
    3.   hr:   65  
    4.   avg:  0.278  
    5. -  
    6.   name: Sammy Sosa  
    7.   hr:   63  
    8.   avg:  0.288  

    YAML 还支持流类型,用中括号括起来表示列表,用逗号分隔元素;用大括号括起来表示键值对,用逗号分隔元素。

    Sequence of Sequences 列表的列表 

    [plain] view plain copy
     
    1. - [name        , hr, avg  ]  
    2. - [Mark McGwire, 65, 0.278]  
    3. - [Sammy Sosa  , 63, 0.288]  

     Mapping of Mappings  键值对的键值对

    [plain] view plain copy
     
    1. Mark McGwire: {hr: 65, avg: 0.278}  
    2. Sammy Sosa: {  
    3.     hr: 63,  
    4.     avg: 0.288  
    5.   }  

    yaml 官方网站:http://www.yaml.org
    yaml 官方文档:http://www.yaml.org/spec/1.2/spec.html
  • 相关阅读:
    Android学习笔记14:Tween Animation动画的实现
    Android学习笔记17:单项选择RadioButton和多项选择CheckBox的使用
    北国的雪
    Android学习笔记11:图像的平移、旋转及缩放
    三极管基本放大电路解析
    51单片机中data,idata,xdata,pdata的区别
    充电开关制作
    慢慢学Linux驱动开发,第五篇,初探设备模型概念
    慢慢学Linxu驱动开发,第二篇:启程,模块机制,Hello World
    H桥电机驱动原理与应用
  • 原文地址:https://www.cnblogs.com/MMSJ6/p/9075996.html
Copyright © 2020-2023  润新知