1. 网络链接
数组
ports = [ 8001, 8001, 8002 ]
表- 标准写法
[owner]
name = "Lance Uppercut"
表- 紧凑写法 (内联表)
name = { first = "Tom", last = "Preston-Werner" }
表数组 - 标准写法
[[products]]
name = "Hammer"
sku = 738594937
[[products]]
[[products]]
name = "Nail"
sku = 284758393
color = "gray"
表数组 - 紧凑写法
points = [ { x = 1, y = 2, z = 3 },
{ x = 7, y = 8, z = 9 },
{ x = 2, y = 4, z = 8 } ]
总结:
YDZY 目前的配置文件最接近于 标准表
可在上面基础上增加 数组 等标识
3. 数据类型
- 字符串
- 基本字符串
- 多行基本字符串
- 字面量
- 字面量字符串 是被单引号包含的字符串,跟基本字符串一样,它们一定是以单行出现
- 多行字面量
- 整数
- 就是没有小数点的数字
- 可以加正负号
- 对于大整数,你可以用下划线提高可读性
- 64位 有符号
- 不能表示
- 前导零是不允许的
- 也不允许十六进制(Hex)、八进制(octal)和二进制形式
- 诸如“无穷”和“非数字”这样的不能用一串数字表示的值都不被允许
- 浮点数
- 由整数部分(可能是带有加号或减号前缀的) 和 小数部分 和(或)指数部分组成的数
- 和整数类似,你可以用下划线来提高可读性。每个下划线两边至少包含一个数字
- 布尔值
- 时间日期
- 时间日期是RFC 3339中的时间格式
- 1979-05-27T07:32:00Z
- 1979-05-27T00:32:00-07:00
- 1979-05-27T00:32:00.999999-07:00
- 数组
- 由方括号包括的基本单元, 忽略空格
- 由逗号分隔。
- 数据类型不能混用(所有的字符串均为同一类型)
- 数组也可以多行
- (标准)表 (哈希表 / 字典)
- 键值对集合
- 表格名 由方括号包裹,自成一行。 注意和数组相区分,数组里只有值
- 表名之下,直到下一个表或文件尾(EOF)之间都是该表的键值对
- k = v
- 键 可以是裸的或由引号包括的。
- 裸键 可能仅包含字母、数字、下划线和破折号
- 在裸键中严禁使用点(.),因为它被用来表示嵌套表!
- 引号键 遵循基本字符串的规则,允许你使用更广泛的键名。 除非有绝对的必要,否则最好是用裸键
- 嵌套表
- 可以完全不去指定父表(super-tables)。TOML知道该如何处理
- 内联表
- 和 表 是一回事
- 内联表提供一种更紧凑的语法来表示表。它们可以把数据分组,避免这些数据很快变得冗长
- 是由大括号{ 和 }括起来
- 大括号内可以存在零个或多个逗号分隔的键值对
- 内联表里的键值对跟标准表里的键值对形式是一样的
- 允许所有的值类型,包括内联表
- 写法
- 一般以单行出现
- 不允许换行符出现在大括号之间,除非是包含在值中的有效字符
- 即便如此,也强烈建议不要在把内联表分成多行。如果你有这种需求,那么你应该去用标准表
- 表数组 (双括号表)
- 本质是数组, 数组内是 几组表, 每组用 {} 表示
- 通过包括在 双括号内 表格名来表达
- 使用相同双括号名的每个表都是数组中的元素。
- 表的顺序跟书写顺序一致。
- 没有键值对的双括号表会被当作空表
- 你也可以在适合的地方使用内联表