viper读取配置文件

//方法一
func readConfig1(path, filename, filetype string) interface{} {
    viper.AddConfigPath(path)
    viper.SetConfigFile(filename)
    viper.SetConfigType(filetype)
    
    err := viper.ReadInConfig()
    if err != nil {
        panic(err)
        fmt.Println("Fatal error config file: %s \n", err)
    }
    res:= viper.AllSettings()
    return res
}

//方法二
func readConfig(filename string) interface{} {
    content, err := ioutil.ReadFile(filename) // just pass the file name
    if err != nil {
        fmt.Println(err)
    }
    viper.ReadConfig(bytes.NewBuffer(content))
    viper.SetConfigType("properties")
    res:= viper.AllSettings()
    return res
}

注意:第一次读取文件之后,第二次指定路径的时候,是在指定路径append,并不是直接切换路径,所以如果要做配置对比,建议使用方法二

posted @ 2022-01-27 14:32  醒日是归时  阅读(272)  评论(0编辑  收藏  举报