I use Viper https://github.com/spf13/viper for managing project configurations in my GO app, and also for Unmarshaling configuration values to a struct.
var config c.Configuration // Configuration is my configuration struct
err := viper.Unmarshal(&config)
When I miss some configs in .yml config file it doesn't throw any error (as I had guessed) during Unmarshaling.
So how can I force to have all configs implemented? I want to see errors if any field from struct doesn't have value in yaml.

