1 Star 0 Fork 0

画虎 / gsf

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
conf.go 892 Bytes
一键复制 编辑 原始数据 按行查看 历史
GEMDALE\chenwei14 提交于 2021-07-08 12:08 . 添加rest,core
package conf
import (
"io/ioutil"
"log"
"os"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/pkg/errors"
"github.com/spf13/viper"
)
func MustLoad(f string, c interface{}) {
err := Load(f, c)
if err != nil {
log.Fatal(err)
}
}
// Setup initialize the configuration instance
func Load(f string, c interface{}) error {
v := viper.New()
v.SetConfigFile(f)
content, err := ioutil.ReadFile(f)
if err != nil {
return errors.Wrap(err, "read conf err")
}
//Replace environment variables
err = v.ReadConfig(strings.NewReader(os.ExpandEnv(string(content))))
if err != nil {
return errors.Wrap(err, "vip read conf err")
}
optDecode := viper.DecodeHook(mapstructure.ComposeDecodeHookFunc(
mapstructure.StringToTimeDurationHookFunc(),
))
if err := v.Unmarshal(&c, optDecode); err != nil {
return errors.Wrap(err, "viper Unmarshal error")
}
return nil
}
Go
1
https://gitee.com/gaodihu/gsf.git
git@gitee.com:gaodihu/gsf.git
gaodihu
gsf
gsf
v0.0.6

搜索帮助