点击下方“民工哥技术之路”,选择“设为星标”

回复“1024”获取独家整理的学习资料!

YAML 是一种非常简洁/强大/专门用来写配置文件的语言!

YAML 全称是 ”YAML Ain’t a Markup Language” 的递归缩写,该语言的设计参考了 JSON / XML 和 SDL 等语言,强调以数据为中心,简洁易读,编写简单。

YAML 语法特性

学过编程的人理解起来应该非常容易

语法特点
  • 大小写敏感

  • 通过缩进表示层级关系

  • 禁止使用tab缩进,只能使用空格键

  • 缩进的空格数目不重要,只要相同层级左对齐

  • 使用#表示注释

# yaml
languages:- Ruby- Perl- Python
websites:YAML: yaml.orgRuby: ruby-lang.orgPython: python.orgPerl: use.perl.org# Json
{languages: ['Ruby','Perl','Python'],websites: {YAML: 'yaml.org',Ruby: 'ruby-lang.org',Python: 'python.org',Perl: 'use.perl.org'}
}
数据结构

-对象: 键值对的字典 -数组: 一组按次序排列的列表 -纯量: 单个的且不可再分的值

# 纯量
hello# 数组
- Cat
- Dog
- Goldfish# 对象
animal: pets
引号区别
  • 单引号(''): 特殊字符作为普通字符串处理

  • 双引号(""): 特殊字符作为本身想表示的意思

# 单引号
name: 'Hi,\nTom'# 双引号
name: "Hi,\nTom"
内置类型列表
# YAML允许使用个感叹号(!)强制转换数据类型
# 单叹号通常是自定义类型,双叹号是内置类型
money: !!str
123date: !Boolean
true

YAML 中的纯量

纯量是最基本的且不可再分的值

字符串
# 不适用引号
name: Tom# 使用单引号
name: 'Tom'# 使用双引号
name: "Tom"
布尔值
debug: true
debug: false
数字
12       # 十进制整数
014      # 八进制整数
0xC      #十六进制整数
13.4     #浮点数
1.2e+34  #指数
.inf     #无穷大
Null
date: ~
date: null
时间
# 使用iso-8601标准表示日期
date: 2018-01-01t16:59:43.10-05:00

YAML 特殊类型

日常使用中基本不会用到的类型

文本块
# 注意“|”与文本之间须另起一行
# 使用|标注的文本内容缩进表示的块,可以保留块中已有的回车换行
value: |helloworld!# 输出结果
# hello 换行 world!
# +表示保留文字块末尾的换行
# -表示删除字符串末尾的换行
value: |
hellovalue: |-
hellovalue: |+
hello# 输出结果
# hello\n hello hello\n\n
# 注意“>”与文本之间的空格
# 使用>标注的文本内容缩进表示的块,将块中回车替换为空格最终连接成一行
value: > hello
world!# 输出结果
# hello 空格 world!
锚点与引用
# 复制代码注意*引用部分不能追加内容
# 使用&定义数据锚点,即要复制的数据
# 使用*引用锚点数据,即数据的复制目的地
name: &a yaml
book: *a
books:- java- *a- python# 输出结果
book: yaml
books:[java, yaml, python]

YAML 实例说明

光说不练假把式 => JS-Yaml 官网实例地址 https://nodeca.github.io/js-yaml

---
# Collection Types #############################################################
################################################################################# http://yaml.org/type/map.html -----------------------------------------------#map:# Unordered set of key: value pairs.Block style: !!mapClark: EvansIngy: döt NetOren: Ben-KikiFlow style: !!map { Clark: Evans, Ingy: döt Net, Oren: Ben-Kiki }# http://yaml.org/type/omap.html ----------------------------------------------#omap:# Explicitly typed ordered map (dictionary).Bestiary: !!omap- aardvark: African pig-like ant eater. Ugly.- anteater: South-American ant eater. Two species.- anaconda: South-American constrictor snake. Scaly.# Etc.# Flow styleNumbers: !!omap [one: 1, two: 2, three: 3]# http://yaml.org/type/pairs.html ---------------------------------------------#pairs:# Explicitly typed pairs.Block tasks: !!pairs- meeting: with team.- meeting: with boss.- break: lunch.- meeting: with client.Flow tasks: !!pairs [meeting: with team, meeting: with boss]# http://yaml.org/type/set.html -----------------------------------------------#set:# Explicitly typed set.baseball players: !!set? Mark McGwire? Sammy Sosa? Ken Griffey# Flow stylebaseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }# http://yaml.org/type/seq.html -----------------------------------------------#seq:# Ordered sequence of nodesBlock style: !!seq- Mercury # Rotates - no light/dark sides.- Venus # Deadliest. Aptly named.- Earth # Mostly dirt.- Mars # Seems empty.- Jupiter # The king.- Saturn # Pretty.- Uranus # Where the sun hardly shines.- Neptune # Boring. No rings.- Pluto # You call this a planet?Flow style: !!seq [Mercury,Venus,Earth,Mars, # RocksJupiter,Saturn,Uranus,Neptune, # GasPluto,] # Overrated# Scalar Types #################################################################
################################################################################# http://yaml.org/type/bool.html ----------------------------------------------#bool:- true- True- TRUE- false- False- FALSE# http://yaml.org/type/float.html ---------------------------------------------#float:canonical: 6.8523015e+5exponentioal: 685.230_15e+03fixed: 685_230.15sexagesimal: 190:20:30.15negative infinity: -.infnot a number: .NaN# http://yaml.org/type/int.html -----------------------------------------------#int:canonical: 685230decimal: +685_230octal: 02472256hexadecimal: 0x_0A_74_AEbinary: 0b1010_0111_0100_1010_1110sexagesimal: 190:20:30# http://yaml.org/type/merge.html ---------------------------------------------#merge:- &CENTER { x: 1, y: 2 }- &LEFT { x: 0, y: 2 }- &BIG { r: 10 }- &SMALL { r: 1 }# All the following maps are equal:- # Explicit keysx: 1y: 2r: 10label: nothing- # Merge one map<<: *CENTERr: 10label: center- # Merge multiple maps<<: [*CENTER, *BIG]label: center/big- # Override<<: [*BIG, *LEFT, *SMALL]x: 1label: big/left/small# http://yaml.org/type/null.html ----------------------------------------------#null:# This mapping has four keys,# one has a value.empty:canonical: ~english: null~: null key# This sequence has five# entries, two have values.sparse:- ~- 2nd entry-- 4th entry- Null# http://yaml.org/type/str.html -----------------------------------------------#string: abcd# http://yaml.org/type/timestamp.html -----------------------------------------#timestamp:canonical: 2001-12-15T02:59:43.1Zvalid iso8601: 2001-12-14t21:59:43.10-05:00space separated: 2001-12-14 21:59:43.10 -5no time zone (Z): 2001-12-15 2:59:43.10date (00:00:00Z): 2002-12-14# JavaScript Specific Types ####################################################
################################################################################# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExpregexp:simple: !!js/regexp foobarmodifiers: !!js/regexp /foobar/mi# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefinedundefined: !!js/undefined ~# https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Functionfunction: !!js/function >function foobar() {return 'Wow! JS-YAML Rocks!';}# Custom types #################################################################
################################################################################# JS-YAML allows you to specify a custom YAML types for your structures.
# This is a simple example of custom constructor defined in `js/demo.js` for
# custom `!sexy` type:
#
# var SexyYamlType = new jsyaml.Type('!sexy', {
#   kind: 'sequence',
#   construct: function (data) {
#     return data.map(function (string) { return 'sexy ' + string; });
#   }
# });
#
# var SEXY_SCHEMA = jsyaml.Schema.create([ SexyYamlType ]);
#
# result = jsyaml.load(yourData, { schema: SEXY_SCHEMA });foobar: !sexy- bunny- chocolate

作者: Escape 

链接: https://www.escapelife.site/posts/8032061c.html

推荐阅读 点击标题可跳转

新版 Win10 来了!网友:要被丑哭了。。。

这款 Web SSH 客户端工具超牛逼!爱了

超实用!送你 11 个 Git 使用技巧,个个惊艳

全网最新、最详细的部署最小化 K8S 集群教程

技术公司与非技术公司的区别,太真实了…

武汉最最最牛逼的 IT 公司全在这了

使用 AutoSSH 实现自动化跨网络访问

Kubernetes 前世今生( 附学习导图 )

Kubernetes 之 Pod 实现原理

Kubernetes 之 YAML 语法相关推荐

  1. K8S-网络模型、POD/RC/SVC YAML 语法官方文档

    2019独角兽企业重金招聘Python工程师标准>>> K8S-网络模型.POD/RC/SVC YAML 语法官方文档 博客分类: Kubernetes K8S-网络模型.POD/R ...

  2. k8s查看pod的yaml文件_【大强哥-k8s从入门到放弃04】Yaml语法解析

    依然小福利[Python-零基础入门]2020感谢走进我的生命,Python!(已更新至206集)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 一.K8S名称 ...

  3. Kubernetes之yaml文件详解(汇总-详细)

    一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...

  4. Springboot之YAML语法

    概述 YAML是 JSON 的超集,因此,它是用于指定分层配置数据的便捷格式.只要 class 路径上有SnakeYAML library,SpringApplication class 就会自动支持 ...

  5. 学习ansible playbook之前先了解下YAML语法

    YAML 语法 本文来自于:http://www.ansible.com.cn/docs/YAMLSyntax.html 这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 play ...

  6. k8s:资源类型及yaml语法

    k8s资源类型 yaml语法 一定是空格!!! 单引号在yml中就类似于转义符

  7. 轻松掌握开发必会的docker套路-yaml语法与docker compose.yml

    我们编程的时候常常需要定义配置文件,配置文件的格式也多种多样,有用php的数组格式的,有xml格式的,也有json格式的. 由于docker compose使用的配置文件是docker-compose ...

  8. ansible中yaml语法应用

    4.yaml语法应用 ansible的playbook编写是yaml语言编写,掌握yaml语法是编写playbook的必要条件,格式要求和Python相似,具体教程参考如下 yaml语言教程 附上一个 ...

  9. yaml语法三大规则

    关注公众号 风色年代(itfantasycc) 领300G后端资源包 yaml语法三大规则 - moonandstar08 - 博客园 规则一:缩进 yaml使用一个固定的缩进风格表示数据层结构关系, ...

最新文章

  1. ngrok 内网穿透
  2. Serializable Clonable
  3. ELASTIC的备份与恢复
  4. boost::signals2::trackable相关的测试程序
  5. 为啥国人偏爱 Mybatis,而老外喜欢 Hibernate/JPA 呢?
  6. linux 系统arp检测工具,linux网络常用诊断工具
  7. 使用CMD命令修改Windows本地账户密码
  8. HDU 1874 最直接的最短路径问题
  9. 论文浅尝 | 一种用于多关系问答的可解释推理网络
  10. javabean 学习笔记
  11. 如何在CentOS 7.x / RHEL 7.x上搭建Docker Private Registry(Docker私有仓库)
  12. for循环与each遍历的跳出循环方式
  13. 用例子理解java7内存结构
  14. ACM PKU 1111 Image Perimeters http://acm.pku.edu.cn/JudgeOnline/problem?id=1111
  15. 算法列表-java实现
  16. 如何c51和mdk共存兼容_如何使用无线技术控制大功率快速充电
  17. mem考试能用计算机吗,分享自己MEM考试经验
  18. 2021年认证杯SPSSPRO杯数学建模B题(第一阶段)依巴谷星表中的毕星团求解全过程文档及程序
  19. 秀米图文编辑对接UEditor富文本编辑器样式丢失
  20. 大学生简历计算机专业模板,计算机专业大学生简历模板

热门文章

  1. axios发送x-www-form-urlencoded格式数据
  2. 谷歌查排名php,百度权重、pagerank、alexa及百度和谷歌收录情况查询接口
  3. 计算机中线性结构定义,数据结构基本概念
  4. linux命令发请求,Linux命令发送Http的get或post请求(curl和wget两种方法)
  5. ASP .NET MVC项目研发总结
  6. 菜鸟菜鸟菜鸟菜鸟编程之路
  7. 量子计算 18 量子算法3 (RSA Shor)
  8. 帮我从求职者的角度分析一下现在使用人数最多的十大汉语线上教学平台的申请难度...
  9. 人工智能(mysql)—— mysql完整的sql查询
  10. 计算机数学英语考本的分数线,专接本考试数学英语的成绩没有过公共线还有没有被..._公共英语考试_帮考网...