
张兔兔
07-19 08:42
YAML 学习
YAML 学习
设计目标
YAML 的设计目标按优先级递减:
1. YAML 应该易于人类阅读。
2. YAML 数据应该可以在编程语言之间移植。
3. YAML 应与动态语言的本机数据结构相匹配。
4. YAML 应该有一个一致的模型来支持通用工具。
5. YAML 应支持一次性处理。
6. YAML 应该具有表现力和可扩展性。
7. YAML 应该易于实施和使用。
语法规则
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释 解析器会自动忽略
数据类型
三种基本类型:
- 标量(scalar):原子数据类型(单个的、不可再分的值) 如字符串、数字、布尔值和 null
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)(键可以不仅仅是字符串,可以是序列或映射本身)。
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
最重要的是,YAML 允许序列化所有其他数据类型和类:
别名和锚
用于序列化引用/指针,包括循环引用。
标签
使用标签可以定义自定义类型/类。
例如,在许多语言中,正则表达式是内置数据类型或对象。
一些语言只有数组,由基本序列类型表示。
但有些有元组,需要自定义标签。
Comments0
Creator