Go新项目-配置文件的选取及区别和写法(1)

这篇具有很好参考价值的文章主要介绍了Go新项目-配置文件的选取及区别和写法(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Go新项目-配置文件的选取及区别和写法(1),Go,golang,windows,开发语言

先说结论:我们选型TOML

yaml,toml,json,ini 实际业务都有用

实际栗子是:我们想要把Go的切片作为配置文件,YAML写起来比较吃力,TOML就很容易了。

配置文件是用于配置计算机程序的参数、初始化设置的文件、业务数据公共配置等。如果没有这些配置,我们的程序就会硬编码,不够灵活

配置文件的作用主要是给即将运行的程序提供初始值,凡是在环境发生改变时需要修改的选项就可以设置成配置项。

配置文件流行分为这几类

  • TOML 结合了 INI 和 YAML 的优点

    • TOML 的写法和 ini 几乎一致,切换成本为 0 ;
    • 支持所有的 YAML 数据类型,甚至支持时间格式;
    • 支持像 ini 的 section 分组,只是在 TOML 中,它叫做 table;
    • 解析像 YAML 那样简单。
    • 支持bool、int、float、字符串、字符串数组
  • YAML (缩进怪)

    • 容易阅读和修改,支持注释。
    • 支持丰富的数据类型,对象、数组、纯量
      • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
      • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
      • 纯量(scalars):单个的、不可再分的值;字符串、bool、int、float、Null、时间、日期
    • 不同格式的明确表达。
    • 强制缩进。虽然不规定具体缩进几个空格,但是同一级的内容要保持相同的缩进。
    • 冒号后面一定要加空格,否则无法解析。
  • INI

    • 比较适合配置项的数据类型只是简单的字符串、数字的情况,如果涉及数组和 key/value 的嵌套,会比较吃力。
    • section 无法嵌套, 嵌套后的效果和没有嵌套是一样的。
    • 字符串的表示不要加引号,否则引号也会被解析出来。
  • JSON

    • 不支持注释
    • 花括号多,影响可读性
  • XML

    • 业务不常用

什么要的配置文件格式是好格式

  • 容易阅读和修改、最好支持注释。 所以 json 不是一种好的格式。
  • 易于解析,支持多数据类型。 INI 和 xml 不合适。
  • 不同格式用不同的表达。 YAML 和 TOML 做得非常好。

针对各自的使用做示例和对比

TOML

参考地址:github:https://github.com/toml-lang/toml
中文:https://github.com/LongTengDao/TOML/blob/龙腾道-译/toml-v1.0.0.md

# 例子
[analysis]
    # 全基因分析
    whole_genome = ["WGS", "childWGS", "WGS-HD"]
YAML

github:https://github.com/go-yaml/yaml文章来源地址https://www.toymoban.com/news/detail-799715.html

# 例子
# 项目根目录
root: "/mnt/project/bap"

# cors allow address
allow_origins:
  - "http://127.0.0.1:8080"

# 批量计算及多重样本写结论并发数
analysis:
  multiple_analysis: 50
  multiple_write: 30
  full_exon: 5
  whole_genome: 5

将yaml配置内容解析到map对象中

如果不定义struct进行Unmarshal,可以直接声明一个map对象:

resultMap := make(map[string]interface{}),代替struct 结构体来进行解析。

INI
# 例子
; A comment line
[Section]
enabled = true
path = /usr/local # another comment

JSON
# 例子
{
    "enabled": true,
    "path": "/usr/local"
}
XML
# 例子
<?xml version="1.0" encoding="UTF-8" ?>
<Config>
   <enabled>true</enabled>
   <path>/usr/local</path>
</Config>

到了这里,关于Go新项目-配置文件的选取及区别和写法(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go新项目-Golang使用RemoteAddr()获取远程主机地址的注意事项(9)

    http.Request 下的方法RemoteAddr() 可以获取客户端的地址和端口号,最近的一个项目中用到了这个方法。 使用过程中一直都没有什么问题,但是当项目上线之后就发现不管怎么获取ip,客户端地址都是127.0.0.1 。 对于这个问题一直百思不得其解,最后搞了半天才发现是nginx 的原因。

    2024年01月20日
    浏览(56)
  • 微信小程序(一)小程序与web开发的区别&创建新项目

    1.小程序的开发准备 1.1小程序的安装与创建 1.1.1 生产appid 前往小程序官网,注册(不赘述了);登录上去之后,需要获得小程序的appid 由于后期调⽤微信⼩程序的接⼝等功能,需要索取开发者的⼩程序中的 APPID ,所以在注册成功后, 可登录,然后获取APPID。 登录成功后可看

    2024年02月12日
    浏览(56)
  • [每周一更]-(第83期):Go新项目-Gin中间件的使用和案例(10)

    在 Gin 中,中间件是一种用于处理 HTTP 请求和响应的功能强大的机制。中间件是一段位于请求处理链和最终处理器之间的代码, 它可以截获请求、执行预处理操作,修改请求或响应,然后将控制权传递给下一个中间件或最终的请求处理器。 中间件在业务使用中,方便注入一些

    2024年01月20日
    浏览(52)
  • pycharm创建新项目,项目文件夹中没有venv文件夹

    pycharm创建项目没有venv_pycharm不能新建怎么办问题 实现步骤一、首先使用pycharm打开项目,发现项目中不存在venv环境。 二、file–setting–project–projectinterpreter–新建环境 三、 Virtualenv Environment -- new environment    

    2024年02月16日
    浏览(60)
  • 搭建新项目 前端环境 及启动项目前的相关配置

    ** ** 提示:这里可以添加本文要记录的大概内容: 搭建新项目 前端环境 下图所示为开发时前端所用的编辑器 提示:以下是本篇文章正文内容,下面案例可供参考 注意:在配置时 有时候 localhost 可能 不太好用,所以我们 最好配置 成 127.0.0.1 指向我们的电脑 代码如下(示例

    2024年01月23日
    浏览(57)
  • Gitlab 新项目搭建

    项目名称与本地新建项目名称相同 进入本地项目根目录下,右击 git bash here打开命令窗口; 初始化本地仓库; 提交至暂存区; 提交项目。 建立本地仓库和远端 Gitlab 仓库关系; 2.拉取一下远程仓库内容; 推送本地内容到远程仓库。 出现以下问题: 原因就是 Gitlab 的仓库中

    2024年02月13日
    浏览(63)
  • 新项目搞完啦!!!

    大家好,我是鱼皮。 经过了 7 场直播,总时长近 20 小时,我在 自己的编程导航 的第 5 个 全程直播开发 的项目 —— 智能 BI 项目,完结啦! 我在这里对该项目做一个简单的总结,希望让更多需要它的同学看到,把它变成自己的项目~ 这次做的是一个顺应潮流的项目, 基于

    2024年02月11日
    浏览(63)
  • 新项目如何推送Git

    一、在git新建一个空的仓库,不用任何模版,直接创建即可 完成后,copy仓库地址 二、本地新建项目,进入到本地项目命令行,也可以打开终端,其实是相通的:执行命令git init, 此时在项目上右击就发想有git选项,点击add添加,接着正常commit,然后push 在push的时候会发现有

    2024年02月12日
    浏览(66)
  • 笔记 | FastAPI创建新项目

    当使用FastAPI创建项目时,首先需要安装FastAPI和其依赖项。可以使用pip来安装它们。请确保已经安装了Python和pip。 创建项目文件夹并进入该文件夹: 创建并激活一个新的Python虚拟环境(可选,但强烈推荐): 安装FastAPI和uvicorn(FastAPI的服务器): 创建一个名为 main.py 的文件

    2024年02月06日
    浏览(61)
  • idea新项目上传git

    关于idea新项目怎么上传到git,今天整理一下操作的步骤。来做一个记录! 1.首先要在项目上右击打开终端或者在idea的下方有一个快捷按钮 按照上面的截图进行操作,打开终端窗口 2.然后在终端窗口中输入 git init 命令,会出现如图样子 3.然后右击项目会出现git的选项,然后按

    2024年02月12日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包