在 Go With Profile 部分解组 TOML

问题描述

我目前正在尝试解组配置文件(非常类似于 AWS 在使用其 CLI 时使用的配置文件)。但是,我创建的结构中没有添加任何内容

这是我的源代码

func main() {
    config,_ := GetConfig(".")
    fmt.Println(config) <--- Prints "{map[]}"

}

type Configuration struct {
    Id     int64 `toml:"id"`
    Key    int64 `toml:"key"`
}

type Configurations struct {
    Config map[string]Configuration
}

func GetConfig(path string) (configurations Configurations,err error) {
    viper.AddConfigPath(path)
    viper.SetConfigName("config")
    viper.SetConfigType("toml")

    err = viper.ReadInConfig()
    if err != nil {
        fmt.Println("No config file found!")
        return configurations,err
    }

    err = viper.Unmarshal(&configurations)
    if err != nil {
        fmt.Println("No config user found!")
    }
    return configurations,err
}

这是我的 config.toml 文件中的内容

[profile]
id  = 123 
key = 456

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)