pc网站自动生成app,wordpress微商城模板,国内优秀网站网址,大良营销网站建设咨询1 YAML概述
YAML 是 “YAML Ain’t a Markup Language”#xff08;YAML 不是一种标记语言#xff09;的递归缩写。在开发的这种语言时#xff0c;YAML 的意思其实是#xff1a;“Yet Another Markup Language”#xff08;仍是一种标记语言#xff09;。YAML 的语法和其…1 YAML概述
YAML 是 “YAML Ain’t a Markup Language”YAML 不是一种标记语言的递归缩写。在开发的这种语言时YAML 的意思其实是“Yet Another Markup Language”仍是一种标记语言。YAML 的语法和其他高级语言类似并且可以简单表达清单、散列表标量等数据形态。它使用空白符号缩进和大量依赖外观的特色特别适合用来表达或编辑数据结构、各种配置文件、倾印调试内容、文件大纲例如许多电子邮件标题格式和YAML非常接近。YAML 的配置文件后缀为 .yml如runoob.yml 。
2 YAML 语法 YAML基本语法 大小写敏感 使用缩进表示层级关系 缩进不允许使用tab只允许空格 缩进的空格数不重要只要相同层级的元素左对齐即可 #表示注释
3 YAML 对象 YAML 支持以下几种数据类型可以和JSON进行类比 对象键值对的集合又称为映射mapping/ 哈希hashes / 字典dictionary 数组一组按次序排列的值又称为序列sequence / 列表list 纯量scalars单个的、不可再分的值 以 - 开头的行表示构成一个数组 - A
- B
- CYAML 支持多维数组可以使用行内表示 key: [value1, value2, ...]一个相对复杂的例子意思是 companies 属性是一个数组每一个数组元素又是由 id、name、price 三个属性构成。 companies:-id: 1name: company1price: 200W-id: 2name: company2price: 500W数组也可以使用流式(flow)的方式表示 companies: [{id: 1,name: company1,price: 200W},{id: 2,name: company2,price: 500W}]对象键值对使用冒号结构表示 key: value冒号后面要加一个空格。 也可以使用 key:{key1: value1, key2: value2, …}。 还可以使用缩进表示层级关系 key: child-key: valuechild-key2: value2较为复杂的对象格式可以使用问号加一个空格代表一个复杂的 key配合一个冒号加一个空格代表一个 value意思即对象的属性是一个数组 [complexkey1,complexkey2]对应的值也是一个数组 [complexvalue1,complexvalue2] ? - complexkey1- complexkey2
:- complexvalue1- complexvalue2纯量是最基本的不可再分的值包括 字符串 布尔值 整数 浮点数 Null 时间 日期 使用一个例子来快速了解纯量的基本使用 boolean: - TRUE #true,True都可以- FALSE #falseFalse都可以
float:- 3.14- 6.8523015e5 #可以使用科学计数法
int:- 123- 0b1010_0111_0100_1010_1110 #二进制表示
null:nodeName: nodeparent: ~ #使用~表示null
string:- 哈哈- Hello world #可以使用双引号或者单引号包裹特殊字符- newlinenewline2 #字符串可以拆成多行每一行会被转化成一个空格
date:- 2018-02-17 #日期必须使用ISO 8601格式即yyyy-MM-dd
datetime: - 2018-02-17T15:02:3108:00 #时间使用ISO 8601格式时间和日期之间使用T连接最后使用代表时区锚点和 ***** 别名可以用来引用 用来建立锚点defaults 表示合并到当前数据***** 用来引用锚点。 defaults: defaultsadapter: postgreshost: localhostdevelopment:database: myapp_development: *defaultstest:database: myapp_test: *defaults相当于 defaults:adapter: postgreshost: localhostdevelopment:database: myapp_developmentadapter: postgreshost: localhosttest:database: myapp_testadapter: postgreshost: localhost