1 Star 0 Fork 0

livo / simpleconfig

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
config.go 854 Bytes
一键复制 编辑 原始数据 按行查看 历史
落葉 提交于 2020-01-18 11:42 . init
package simpleconfig
import (
"errors"
"github.com/spf13/viper"
"os"
)
var Cfg *viper.Viper
func init() {
Cfg = viper.New()
Cfg.SetConfigFile("./config.yaml") // 直接配置路径
}
func LoadFromFile(file string, cfg interface{}) {
if err := Cfg.ReadInConfig(); err != nil {
switch err.(type) {
case viper.ConfigFileNotFoundError:
panic(errors.New("not config file find"))
default:
panic(err)
}
}
err := Cfg.Unmarshal(&cfg)
if err != nil {
panic(err)
}
}
func LoadFromFileByEnv(envFileName string, cfg interface{}) {
fileName := os.Getenv(envFileName)
if len(fileName) == 0 {
panic("config file not find.")
}
LoadFromFile(fileName, cfg)
}
func LoadByDefaultFile(cfg interface{}) {
LoadFromFile("./config.yaml", cfg)
}
func SaveToFile(fileName string) error {
err := Cfg.SafeWriteConfigAs(fileName)
return err
}
Go
1
https://gitee.com/livo/simpleconfig.git
git@gitee.com:livo/simpleconfig.git
livo
simpleconfig
simpleconfig
175b80f85763

搜索帮助