1 Star 0 Fork 11

coder_lw / wiki

forked from deepinwiki / wiki 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
toml 配置格式.md 2.67 KB
一键复制 编辑 原始数据 按行查看 历史
htqx 提交于 2022-07-09 21:26 . toml 配置格式说明

toml 配置文件格式

前言

我们会接触到各种各样的配置文件,比如 windows 的 ini 文件。还有什么 xml 配置文件。这些文件要么就是不规范。要么就是难以阅读书写(xml)。有没有一个规范,明晰,但又易于阅读和书写的配置文件呢?

我觉得 toml 格式是满足标准的。

规范

# 注释
key = "value" # 键值对,基本形式。
# 必须一行一条,且有值。值可以是多种类型(后述)
# key 名不能重复
# 键可以使用引号,从而可以使用复杂名称(汉字)

a.b = "value" # 可以有层次结构,点号分隔

# 一般会按这种写法
[a]
b = "value" 
c = "value" # 之后的元素都是 a 的成员

[b] # 直到遇到新的标志
c = "value" # b.c 
d = "value" # b.d

类型

字符串

# 字符串 : 引号,三引号(多行),单引号(字面量)
a.1 = "a"

a.2 = """1
2
3"""

a.3 = "\"\n\t\\" # 反斜杠转义 \" 表示 ",\n 换行,\t 制表符,\\ 是 \
a.4 = '\path\file' # 所见所得,不会被反斜杠转义
a.5 = '''1
2
3''' # 也具备多行版

整数

# 整数
b.1 = 10
b.2 = 1_0000 # 下划线可以分组数字,便于阅读
b.3 = 0xFED # 十六进制
b.4 = 0o567 # 八进制
b.5 = 0b0101 # 二进制

浮点(小数)

# 浮点
c.1 = 0.3
c.2 = 5e+3 # 科学计数法,即 5 乘以 10 的正 3 次方 = 5000 

布尔值

# 布尔
d.1 = true # 逻辑 真
d.2 = false # 假

时间

# 时间,遵从 rfc-3339 标准格式
e.1 = 2022-04-20T00:30:00Z # 日期和时间,Z 表示时区 +0
e.2 = 2022-04-20 08:30:00+08:00 # 同时,北京时间,时区 +8
e.3 = 2022-04-20 # 省略时间
e.4 = 08:30:00 # 省略日期

数组

# 数组
f.1 = [ 1,2,3 ] # 数组元素是1,2,3。元素可以是任何类型
f.2 = [ 
    1,
    2, # 可以跨行书写
]

# 表
#(-->这里)
e.1 = 1 # e 就是一个表,表是一个层次结构,可以放键或表
e.2.b.c = 2 # 多级

[e] # 表段落,这种格式出现后,后续都是该表元素
3.b.c = 3 # 等价 e.3.b.c

# 直到遇到下一个表段落
[e.4.b]
c = 4 # 等价 e.4.b.c

# 因此,只有表段落出现前,才有根元素(不在任何表中,看上面标志-->)

[e.5]
b = { x = 1, y = 2 } # 内联表示,创建 e.5.b.x = 1 和 e.5.b.y = 2
# 内联表只有一次书写机会,不能添加新元素

[[e.6]] # 数组表,成员是数组的元素
b = 1 
c = 2
# 这是一种特殊的元素,JSON 格式 {b:1,c:2}
# 父级是数组,必须先于成员表定义

[e]
7 = [{b = 1},{c = 2}] # 内联数组

参考

  1. TOML v1.0.0: https://toml.io/cn/v1.0.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/coder_lw/wiki.git
git@gitee.com:coder_lw/wiki.git
coder_lw
wiki
wiki
master

搜索帮助