golang 操作ini、conf、yaml方法总结

本文总结了使用Golang操作ini、yaml和toml配置文件的常见方法,包括go-ini、goconfig、gopkg.in/yaml.v2、github.com/jinzhu/configor及github.com/BurntSushi/toml等库的使用,提供了安装、接口介绍和示例代码。
摘要由CSDN通过智能技术生成

golang 操作ini、yaml、toml

在使用开发过程中,会经常需要对配置文件做操作,目前主流的配置文件有 .ini、.yaml(yml)、.toml格式,本文收集一些用得较多的包做一个总汇记录。

一、操作ini文件

  • 方法一

使用https://github.com/go-ini/ini 包来操作ini文件

安装

go get gopkg.in/ini.v1

接口简单介绍

//加载文件
ini.Load(source interface{
   }, others ...interface{
   }) (*File, error) 

//获取section 成功返回Setion结构体指针, 失败返回zero-value
ini.Section(name string) *Section

//s 未Section返回值, 使用string(), uint64, float64()等获取对应的值
s.Key(keyName).string()

例子

package optConfFile

import (
	ini "gopkg.in/ini.v1"
)

//IniParser
type IniParser struct {
   
	configReader *ini.File
}

//Load load ini file
func (i *IniParser) Load(configName string) error {
   
	conf, err := ini.Load(configName)
	if err != nil {
   
		return err
	}
	i.configReader = conf
	return nil
}

//GetString GetString
func (i *IniParser) GetString(section, key string) string {
   
	if i.configReader == nil {
   
		return ""
	}

	s := i.configReader.Section(section)
	if s == nil {
   
		return ""
	}
	return s.Key(key).String()
}

//GetUint64 GetUint64
func (i *IniParser) GetUint64(section, key string) uint64 {
   
	if i.configReader == nil {
   
		return 0
	}

	s := i.configReader.Section(section)
	if s == nil {
   
		return 0
	}
	v, _:= s.Key(key).Uint64()
	return v
}

//GetFloat64 GetFloat64
func (i *IniParser) GetFloat64(section, key string) float64 {
   
	if i.configReader == nil {
   
		return 0
	}

	s  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值