一、toml 配置文件加载方法

Golang可以通过加载toml文件的方式,减少代码移植或环境变更时对代码的修改量。

有这样一份toml文件:

我们需要定义一个结构体类型(Config)来映射配置文件,要注意成员名一定要和配置文件中字段名一致。

结果:

上述代码是加载toml文件最简单粗暴的方式。

二、toml配置文件路径处理

当你的工程被要求制作成一个可安装的工具时,加载toml位置时 path := “./conf/projectconfig.toml” 就会有问题,因为这是你工程的路径。

如下提供了一个可以参考的解决办法:

当找不到默认路径(工程目录下的配置文件路径),就返回安装目录下的路径(line:43)

当然你也可以在运行程序时指定toml文件的路径。

使用 flag.Parse() 解析命令行参数。

flag.String(“path”, “”, “toml file path”)有三个参数

  • 第一个参数path,是输入命令行参数时的字段名 比如上图的 -path=XXX
  • 第二个参数是没有输入命令行参数时的默认值
  • 第三个参数是提示信息 go run main.go -help 会打印出来

Golang toml配置文件加载方法相关推荐

  1. 33-viper 配置文件加载

    配置文件加载: 主流的配置文件格式:toml.yaml.json.xml.ini(conf.properties) 配置的来源:文本文件.环境变量.配置中心(携程开源的apollo配置中心.nacos ...

  2. Spring使用环境变量控制配置文件加载(转)

    项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

  3. 配置文件加载位置||外部配置加载顺序||自动配置原理

    配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...

  4. Spring 配置文件加载原理

    参考:准备Spring Boot的环境 1 核心原理 ⭐️1 在SpringBoot的环境准备阶段的后期, 发布一个ApplicationEnvironmentPreparedEvent事件 ⭐️2 ...

  5. Mybatis 源码分析(一)配置文件加载流程

    Mybatis 源码分析(一)配置文件加载流程 1.项目构建 引入依赖 <dependency><groupId>org.mybatis</groupId>< ...

  6. LINUX配置文件加载顺序

    LINUX配置文件加载顺序 shell启动方式 启动类型 如何判断是否为交互式 Shell? 有两种方式 判断是否为登录式 Shell ? 同时判断交互式和登录式 配置文件启动 配置文件加载说明 启动 ...

  7. 架设KMS服务器流程启动加载方法

    架设KMS服务器流程 启动加载方法 架设KMS服务器流程--启动加载方法 以下操作 root 一.准备Centos服务器CentOS-8.4.2105 1.下载http://mirrors.163.c ...

  8. springBoot配置文件加载原理探究

    尽管用springBoot做开发已经有很长一段时间了,在开发时一般都是直接将application.properties或application.yml,放在开发环境的resources下的,运行起来 ...

  9. matlab 读取voi文件,VOI虚拟化下的Windows网卡驱动加载方法与流程

    本发明涉及计算机技术领域,特别涉及VOI虚拟化下的Windows网卡驱动加载方法. 背景技术: 在VOI虚拟化方案中,首先需要确保网卡驱动能够提前加载到系统中,才能够实现通过网络来引导操作系统启动.现 ...

最新文章

  1. [WC2013]平面图——平面图点定位
  2. [Java Plasterer] Java Components 3:Java Enum
  3. 安装 CORD 之前需要了解的术语
  4. mysql 严格模式查看,如何查找和禁用MySQL严格模式?
  5. appium+python+iOS 环境搭建与使用中常见问题的解决方案链接
  6. 代码也能“杀”虫:此虫,真虫非Bug也
  7. java设置日历_java – 设置日历实例的时间
  8. oracle数字类型是什么格式,oracle字段类型NUMBER(38,3),括号中两个数字分别表示什么?...
  9. (Windows)获取系统显示的缩放比例方法
  10. xlsx文件打开乱码_excel打不开xlsx文件怎么办 excel打开xlsx文件乱码怎么解决
  11. pdf复制json不全的问题
  12. [附源码]Java计算机毕业设计SSM高等数学在线学习平台
  13. 人生有三重境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水=
  14. 容易的面试问题变得更加困难:给定数字1..100,在正好缺少k的情况下,找到缺失的数字
  15. boto3使用教程用法
  16. Chrome下图片加载的问题
  17. Uconn DataMining Math5671 课程小记(1)
  18. java毕业设计水果网店管理系统(附源码、数据库)
  19. Linux菜鸟到老鸟的那些建议
  20. 最新2022财报,亚信科技稳步转型

热门文章

  1. 自定义bpmn.js左侧工具栏palette样式
  2. 二叉树练习题(一) 二叉树的遍历
  3. 快站模板 连接mysql_建站实操:如何用CMS快速建站
  4. 如何迎新年?手工自制2021年精美简朴行事历
  5. CAD二次开发命令窗口交互(COM接口c#语言)
  6. 报错`RuntimeError: CUDA out of memory. Tried to allocate 256.00 MiB (GPU 0; 9.78 GiB total capaci
  7. 易恢复EasyRecovery15电脑数据恢复软件
  8. 【ZOJ】3829 Known Notation_天涯浪子_新浪博客
  9. 支持向量机之松弛变量与惩罚因子 (四)
  10. 基于pyQt5的pdf阅读器