Go 如何在Viper中创建必需的配置字段?

Go 如何在Viper中创建必需的配置字段?,go,yaml,go-gin,viper-go,Go,Yaml,Go Gin,Viper Go,我使用Viper管理GO应用程序中的项目配置,并将配置值解组到结构 var config c.Configuration // Configuration is my configuration struct err := viper.Unmarshal(&config) 当我在.yml配置文件中丢失一些配置时,它在解组过程中不会抛出任何错误(正如我所猜测的) 那么,如何强制实现所有配置?如果struct中的任何字段在yaml中没有值,我想查看错误。为什么不在配置上执行nil检查或其

我使用Viper管理GO应用程序中的项目配置,并将配置值解组到结构

var config c.Configuration // Configuration is my configuration struct

err := viper.Unmarshal(&config)
当我在.yml配置文件中丢失一些配置时,它在解组过程中不会抛出任何错误(正如我所猜测的)


那么,如何强制实现所有配置?如果struct中的任何字段在yaml中没有值,我想查看错误。

为什么不在
配置上执行nil检查或其他操作。
?@snapGeek因为这将是手动方法,例如,我知道在node.js by library中可以这样做。如果已经在检查配置解析错误,为什么要手动执行此操作。当调用
viper.Unmarshal()
时,lib可能会返回一个错误,我想这就是这个库背后的全部思想,它是为了简化代码。