go语言基础-----23-----文件解析器goconfig

2023-10-30

1 文件解析器goconfig

go的ini配置文件非常简单,看下面代码即可。

运行之前需要go get。

go get "github.com/Unknwon/goconfig"
package main

import (
	"fmt"
	"log"

	"github.com/Unknwon/goconfig"
)

func main() {
	// 1. 加载配置文件到内存。
	cfg, err := goconfig.LoadConfigFile("./conf.ini") // 读取后文件关闭了
	if err != nil {
		log.Fatalf("无法加载配置文件:%s", err)
	}

	// 2. 获取没有节点的k-v键值对。有两种方法:
	// 方法1:节点传空字符串。
	userListKey, err := cfg.GetValue("", "USER_LIST")
	if err != nil {
		fmt.Println(err.Error())
	}
	fmt.Println(userListKey)
	// 方法2:使用goconfig.DEFAULT_SECTION当做节点。
	userListKey2, _ := cfg.GetValue(goconfig.DEFAULT_SECTION, "USER_LIST")
	fmt.Println(userListKey2)
	maxCount := cfg.MustInt("", "MAX_COUNT")
	fmt.Println(maxCount)
	maxPrice := cfg.MustFloat64("", "MAX_PRICE")
	fmt.Println(maxPrice)
	isShow := cfg.MustBool("", "IS_SHOW")
	fmt.Println(isShow)

	// 3. 获取带有节点的k-v键值对
	db := cfg.MustValue("test", "dbdns")
	fmt.Println(db)
	dbProd := cfg.MustValue("prod", "dbdns")
	fmt.Println("dbProd: ", dbProd)
}

结果,顺便对比ini文件的内容:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go语言基础-----23-----文件解析器goconfig 的相关文章

随机推荐

  • 如何使用tensorboard及打开tensorboard生成文件

    一 使用tensorboard tensorboard中常用函数 1 writer add scalar def add scalar self tag scalar value global step None walltime None
  • SQL Server 如何清空数据库所有表数据

    1 清空SQL Server数据库中所有表数据 1 编写存储过程脚本 CREATE PROCEDURE sp DeleteAllData AS EXEC sp MSForEachTable ALTER TABLE NOCHECK CONST
  • 杂项设备(misc device)

    杂项设备 misc device 杂项设备也是嵌入式系统中用得比较多的一种设备驱动 在 Linux 内核的include linux目录下有miscdevice h文件 要把自己定义的misc device从设备定义在这里 其实是因为这些字
  • PAT C入门题目-7-103 查找书籍 (20 分)(struct的应用)

    7 103 查找书籍 20 分 给定n本书的名称和定价 本题要求编写程序 查找并输出其中定价最高和最低的书的名称和定价 输入格式 输入第一行给出正整数n lt 10 随后给出n本书的信息 每本书在一行中给出书名 即长度不超过30的字符串 随
  • 从内核文件系统看文件读写过程

    阅读目录 系统调用 虚拟文件系统 I O 缓冲区 Page Cache Address Space 文件读写基本流程 回到顶部 系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境 但是计算机系统的各种硬件资源是有
  • 计算二叉树的深度和结点个数

    计算二叉树的深度和结点个数以及叶子结点的个数 二叉树的深度呢指的是二叉树中最大的结点层数 这个很好理解的 而二叉树的结点包含一个数据元素及两个指向子树的分支 叶子结点呢就是树底下没有一个分支的结点 include
  • 彻底解决安装包过程中的Requirement already satisfied:问题

    问题如图 安装库总是提示大量类似Requirement already satisfied paddle in f anapython lib site packages 1 0 2 的信息 对此问题 需要指定安装目录 格式 pip ins
  • oracle 存储过程的基本语法 及注意事项

    oracle 存储过程的基本语法 1 基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 参数1 IN NUMBER 参数2 IN NUMBER IS 变量1 INTEGER 0 变量2 DATE BEGIN E
  • 大学生必备的网址

    飞达简历网http www jianlishop com 精美的简历设计网站 大量XXXXX资源 无忧简历网http www 51jianli com 收费简历设计网站 我的简历http www wdjl net XXXXX提供电子简历 视
  • Weex加载数据缓冲旋转动画的实现

    Weex Ui已经上线了加载动画了点击这里跳转 手写的我眼泪都掉了下来 由于Weex手机端不支持gif图片 然而公司项目又要我加个加载动画 所以手写了一个动画加载组件 注意1 需要用到组件不会用组件的可以点击看看这篇文章 Weex Vue组
  • 操作系统考研复习——第四章(文件管理)

    操作系统考研复习 第四章 文件管理 4 文件管理 4 1 文件管理基础 4 1 1 文件的概念 1 数据项 记录和文件 2 文件属性 3 文件系统的接口 4 文件的基本操作 5 文件的打开与关闭 4 1 2 文件的逻辑结构 1 无结构文件
  • Java中的‘\’

    概述 斜杠 就士普通的字符 反斜杠 则在java中和不同的字符会组成不同的转义字符 斜杠 在Java中没有特别的意义 就代表一个 字符 反斜杠 则不然 它和紧跟它的字符构成转义字符 如 n 代表换行 例如 要写一个字符串 String s
  • Linux下搭建Hadoop环境---JDK安装

    这里安装JDK8 安装JDK8的方式有多中 在windows下下载压缩包 通过xftp上传到linux服务器 去官网下载Java Downloads Oracle 完了以后使用Xftp上传到linux服务器指定目录下 使用wget在本地下载
  • ES(Elasticsearch)中文检索使用笔记(一)

    1 什么是Elasticsearch 根据官网介绍 https www elastic co cn elasticsearch Elasticsearch 以下简称为ES 主要是一种基于JSON的分布式 高扩展 高实时的搜索与数据分析引擎
  • Qt之页面布局

    QTlayout概述 Qt的布局管理系统提供了强大的机制来自动排列窗口中的所有部件 确保它们有效地使用空间 Qt包含了一组布局管理类 从而在应用程序的用户界面中对部件进行布局 比如QLayout的几个子类 这里将它们称作布局管理器 所有QW
  • 基于SSM+JSP的学生信息管理系统

    末尾获取源码 开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 采用JSP技术开发 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Mave
  • 34-鼠标拖拽文件功能

    鼠标拖拽文件功能 直接拖动部分文件或者文件夹到tkinter窗口 实现快速添加文件功能 需要安装windnd库 demo如下 import tkinter as tk import windnd from tkinter messagebo
  • 数据库中系统数据库服务器,sql中什么是系统数据库服务器

    sql中什么是系统数据库服务器 内容精选 换一换 数据复制服务 Data Replication Service 简称DRS 是一种易用 稳定 高效 用于数据库实时迁移和数据库实时同步的云服务 数据复制服务围绕云数据库 降低了数据库之间数据
  • 【C语言】一篇博客带你弄懂最大公约数和最小公倍数

    目录 前言 什么是最大公约数和最小公倍数 最大公约数与最小公倍数的公式 求最大公约数方法 方法一 暴力穷举法 方法二 辗转相除法 方法三 更相减损术 求最小公倍数的方法 方法一 公式法 方法二 暴力穷举法 方法三 叠乘法 最后总结 前言 我
  • go语言基础-----23-----文件解析器goconfig

    1 文件解析器goconfig go的ini配置文件非常简单 看下面代码即可 运行之前需要go get go get github com Unknwon goconfig package main import fmt log githu