TOML 使用
- TOML
- Tom's Obvious, Minimal Language
TOML 被设计成可以无歧义地映射为哈希表。(相当于 JSON 对象吧)
注释
# 这是一个全行注释
key = "value" # 这是一个行末注释
another = "# 这不是一个注释"
键值对
TOML 文档最基本的构成区块是键值对。
name = "Orange"
physical.color = "orange"
physical.shape = "round"
site."google.com" = true
等价于 JSON 的如下结构:
{
"name": "Orange",
"physical": {
"color": "orange",
"shape": "round"
},
"site": {
"google.com": true
}
}
字符串
多行基本字符串由三个引号包裹,允许折行。
- 紧随开头引号的那个换行会被去除
- 其它空白和换行会被原样保留
str1 = """
Roses are red
Violets are blue"""
数组
数组是内含值的方括号。
- 空白会被忽略
- 子元素由逗号分隔
- 数组可以包含与键值对所允许的相同数据类型的值
- 可以混合不同类型的值
integers = [ 1, 2, 3 ]
colors = [ "红", "黄", "绿" ]
nested_array_of_ints = [ [ 1, 2 ], [3, 4, 5] ]
nested_mixed_array = [ [ 1, 2 ], ["a", "b", "c"] ]
string_array = [ "所有的", '字符串', """是相同的""", '''类型''' ]
# 允许混合类型的数组
numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]
contributors = [
"Foo Bar <foo@example.com>",
{ name = "Baz Qux", email = "bazqux@example.com", url = "https://example.com/bazqux" }
]
- 数组可以跨行
- 数组的最后一个值后面可以有终逗号(也称为尾逗号)
- 值、逗号、结束括号前可以存在任意数量的换行和注释
- 数组值和逗号之间的缩进被作为空白对待而被忽略
integers2 = [
1, 2, 3
]
integers3 = [
1,
2, # 这是可以的
]
表
表(也被称为哈希表或字典)是键值对的集合。
- 它们由表头定义,连同方括号作为单独的行出现
- 看得出表头不同于数组,因为数组只有值
- 在它下方,直至下一个表头或文件结束,都是这个表的键值对
- 表不保证保持键值对的指定顺序
[table-1]
key1 = "some string"
key2 = 123
[table-2]
key1 = "another string"
key2 = 456
等价于:
{
"table-1": {
"key1": "some string",
"key2": 123
},
"table-2": {
"key1": "another string",
"key2": 456
}
}
表数组
这可以通过把表名写在双方括号里的表头来表示
- 表头的第一例定义了这个数组及其首个表元素,而后续的每个则在该数组中创建并定义一个新的表元素
- 这些表按出现顺序插入该数组
[[products]]
name = "Hammer"
sku = 738594937
[[products]] # 数组里的空表
[[products]]
name = "Nail"
sku = 284758393
color = "gray"
等价于:
{
"products": [
{ "name": "Hammer", "sku": 738594937 },
{ },
{ "name": "Nail", "sku": 284758393, "color": "gray" }
]
}
TOML 使用的更多相关文章
- Golang学习--TOML配置处理
上一篇文章中我们学会了使用包管理工具,这样我们就可以很方便的使用包管理工具来管理我们依赖的包. 配置工具的选择 但我们又遇到了一个问题,一个项目通常是有很多配置的,比如PHP的php.ini文件.Ng ...
- 如何使用 toml 配置 SpaceVim
配置 SpaceVim 主要包括以下几个内容: 设置 SpaceVim 选项 启动/禁用模块 添加自定义插件 添加自定义按键映射以及插件配置 设置SpaceVim选项 原先,在 init.vim 文件 ...
- TOML简介 (转) TOML的由来
TOML的由来 配置文件的使用由来已久,从.ini.XML.JSON.YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升. TOML是前GitHub CEO, Tom Prest ...
- 深入对比TOML,JSON和YAML
坦率地说,在我开始与Hugo TOML合作之前,我感到羞耻是一个需要发现的新领域,但我对YAML和JSON非常熟悉.本文将帮助您了解如何通过不同的数据格式构建数据. 在Hugo中,您可以将 ...
- toml
其目标是成为一个小规模的易于使用的语义化配置文件格式.TOML被设计为可以无二义性的转换为一个哈希表(Hash table). # 这是一个TOML文件 title = "TOML Exam ...
- TOML 详解
TOML的由来 配置文件的使用由来已久,从.ini.XML.JSON.YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升. TOML是前GitHub CEO, Tom Prest ...
- Go学习笔记一:解析toml配置文件
本文系作者原创,转载请注明出处https://www.cnblogs.com/sonofelice/p/9085291.html . 一些mysql或者日志路径的信息需要放在配置文件中.那么本博文主要 ...
- Golang 的 TOML库
TOML 的全称是 Tom's Obvious, Minimal Language,因为它的作者是 GitHub 联合创始人 Tom Preston-Werner. TOML 的目标是成为一个极简的配 ...
- TOML简介 (转)
TOML的由来 配置文件的使用由来已久,从.ini.XML.JSON.YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升. TOML是前GitHub CEO, Tom Prest ...
- 什么是TOML?
配置文件的使用由来已久,从.ini.XML.JSON.YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升. TOML是前GitHub CEO, Tom Preston-Werne ...
随机推荐
- 在C#中使用RabbitMQ做个简单的发送邮件小项目
在C#中使用RabbitMQ做个简单的发送邮件小项目 前言 好久没有做项目了,这次做一个发送邮件的小项目.发邮件是一个比较耗时的操作,之前在我的个人博客里面回复评论和友链申请是会通过发送邮件来通知对方 ...
- day02模板与配置
一.WXML模板语法 1.1 数据绑定 绑定内容 跟vue差不多,在页面的js文件定义到data里面 然后通过插值语法用在wxml中即可 绑定属性 直接写上插值语法,没有: 三元运算 生成一个十以内的 ...
- ajax - 接口、表单、模板引擎
1. 今天继续ajax的一个学习,首先明确一个观念,接口,什么是接口,当使用ajax请求数据时,被请求的url就叫做数据接口也就是接口,注意每个接口必须有请求方式,这里有一个接口的测试工具,postm ...
- ChatGPT学习之旅 (8) 单元测试助手
大家好,我是Edison. 本篇我们基于上一篇的基础,来写一个单元测试助手的prompt,让它帮我们写一些我们.NET开发者不太愿意编写的单元测试代码,进而提高我们的代码质量,同时还降低我们的开发工作 ...
- MySQL 获取所有表名、所有表结构
获取所有表名 SELECT A.TABLE_SCHEMA '数据库', A.TABLE_NAME '表名', A.TABLE_ROWS '表记录行数', A.CREATE_TIME '创表时间', A ...
- Java智能之Spring AI:5分钟打造智能聊天模型的利器
前言 尽管Python最近成为了编程语言的首选,但是Java在人工智能领域的地位同样不可撼动,得益于强大的Spring框架.随着人工智能技术的快速发展,我们正处于一个创新不断涌现的时代.从智能语音助手 ...
- 【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy- ...
- Happus:给准备离职成为独立开发者的你 5 点建议
名字:Happus 开发者 / 团队:Regina Dan 平台:iOS, visionOS 请简要介绍下这款产品 Happus 是你追寻幸福健康关系.甚至提高婚姻生活品质的贴心助手.无论是关系维系. ...
- LabVIEW之项目文件结构透析
代码的管理非常重要,LabVIEW本身自带很多代码管理工具.下面来剖析一个相对标准的小项目:
- 基于 Impala 的高性能数仓建设实践之虚拟数仓
导读:本文主要介绍网易数帆 NDH 在 Impala 上实现的虚拟数仓特性,包括资源分组.水平扩展.混合分组和分时复用等功能,可以灵活配置集群资源.均衡节点负载.提高查询并发,并充分利用节点资源. 接 ...