goconf

package module
v1.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 22, 2023 License: MIT Imports: 7 Imported by: 16

README

Detail

golang 多配置文件读取 支持ini,toml,yaml,json格式

Usage


go get github.com/uerax/goconf

goconf.LoadConfig(path)

// 直接使用
goconf.VarString("section", "key")
goconf.VarStringOrDefault("default", "section", "key")

// 转换成自己需要的结构体
cfg := goconf.NewConfigFile()
mar, _ := json.Marshal(cfg)
json.Unmarshal(mar, &YOUR_STRUCT)

Documentation

Overview

* @Author: ww * @Date: 2022-07-03 17:35:13 * @Description: * @FilePath: /goconf/conf.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadConfig

func LoadConfig(path string) error

func VarArray

func VarArray(keys ...string) ([]interface{}, error)

func VarArrayFloat32 added in v1.1.0

func VarArrayFloat32(keys ...string) ([]float32, error)

func VarArrayFloat64 added in v1.1.0

func VarArrayFloat64(keys ...string) ([]float64, error)

func VarArrayInt added in v1.1.0

func VarArrayInt(keys ...string) ([]int, error)

func VarArrayInt32 added in v1.1.0

func VarArrayInt32(keys ...string) ([]int32, error)

func VarArrayInt64 added in v1.1.0

func VarArrayInt64(keys ...string) ([]int64, error)

func VarArrayString added in v1.1.0

func VarArrayString(keys ...string) ([]string, error)

func VarArrayUInt added in v1.1.0

func VarArrayUInt(keys ...string) ([]uint, error)

func VarArrayUInt32 added in v1.1.0

func VarArrayUInt32(keys ...string) ([]uint32, error)

func VarArrayUInt64 added in v1.1.0

func VarArrayUInt64(keys ...string) ([]uint64, error)

func VarBool

func VarBool(keys ...string) (bool, error)

func VarBoolOrDefault

func VarBoolOrDefault(def bool, keys ...string) bool

func VarFloat32

func VarFloat32(keys ...string) (float32, error)

func VarFloat32OrDefault

func VarFloat32OrDefault(def float32, keys ...string) float32

func VarFloat64

func VarFloat64(keys ...string) (float64, error)

func VarFloat64OrDefault

func VarFloat64OrDefault(def float64, keys ...string) float64

func VarInt

func VarInt(keys ...string) (int, error)

func VarInt32

func VarInt32(keys ...string) (int32, error)

func VarInt32OrDefault

func VarInt32OrDefault(def int32, keys ...string) int32

func VarInt64

func VarInt64(keys ...string) (int64, error)

func VarInt64OrDefault

func VarInt64OrDefault(def int64, keys ...string) int64

func VarIntOrDefault

func VarIntOrDefault(def int, keys ...string) int

func VarMap

func VarMap(keys ...string) (map[string]interface{}, error)

func VarRune

func VarRune(keys ...string) (rune, error)

func VarRuneOrDefault

func VarRuneOrDefault(def rune, keys ...string) rune

func VarString

func VarString(keys ...string) (string, error)

func VarStringOrDefault

func VarStringOrDefault(def string, keys ...string) string

func VarUint

func VarUint(keys ...string) (uint, error)

func VarUint32

func VarUint32(keys ...string) (uint32, error)

func VarUint32OrDefault

func VarUint32OrDefault(def uint32, keys ...string) uint32

func VarUint64

func VarUint64(keys ...string) (uint64, error)

func VarUint64OrDefault

func VarUint64OrDefault(def uint64, keys ...string) uint64

func VarUintOrDefault

func VarUintOrDefault(def uint, keys ...string) uint

Types

type CfgFile

type CfgFile struct {
	//mx 		sync.Mutex
	Path string
	File string
	Data map[string]interface{}
	// contains filtered or unexported fields
}

func NewConfigFile

func NewConfigFile() *CfgFile

直接获取CfgFile对象, 用于需要自己构建结构体的情况下 将map[filename]的interface{}转成自己需要的结构体

func (*CfgFile) GetValue

func (t *CfgFile) GetValue(in ...string) interface{}

* * @param section string "section:如果没有可以不填" * @param key string "key:必填的参数key" * @return value interface{} "value: 自行转换成 string|slice|map 等类型"

func (*CfgFile) New

func (t *CfgFile) New()

func (*CfgFile) ReadConfig

func (t *CfgFile) ReadConfig(file string) error

* if you just have one configuration file, that you can use this method * @param file string 配置文件绝对路径或者相对路径

func (*CfgFile) ReadFiles

func (t *CfgFile) ReadFiles(path string) error

* read all configuration file on this path * @param path string 文件目录

func (*CfgFile) Reload

func (t *CfgFile) Reload() error

func (*CfgFile) Unmarshal4Name

func (t *CfgFile) Unmarshal4Name(name string, obj interface{}) error

* @param filename string 文件名 * @param obj interface{} 转换的结构体

Directories

Path Synopsis
* @Author: ww * @Date: 2022-07-04 01:18:38 * @Description: * @FilePath: /goconf/category/json.go
* @Author: ww * @Date: 2022-07-04 01:18:38 * @Description: * @FilePath: /goconf/category/json.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL