Lecture d'une tranche de cartes avec Golang Viper
La bibliothèque Viper sert d'excellent gestionnaire de configuration pour les applications Go. Il peut lire différents formats de fichiers, notamment HCL, JSON et YAML.
Défi :
La lecture d'une tranche de cartes à partir d'un fichier de configuration peut s'avérer difficile, en particulier lorsque la structure est imbriquée. Dans l'exemple fourni, la clé de groupe correspond à plusieurs groupes, chacun avec des propriétés différentes.
Approche générique :
Pour lire une tranche de cartes à l'aide de Viper, vous pouvez utilisez l'approche suivante :
Exemple :
type config struct { Interval int `mapstructure:"interval"` StatsdPrefix string `mapstructure:"statsd_prefix"` Groups []group `mapstructure:"group"` } type group struct { Group string `mapstructure:"group"` TargetPrefix string `mapstructure:"target_prefix"` Targets []target `mapstructure:"target"` } type target struct { Target string `mapstructure:"target"` Hosts []string `mapstructure:"hosts"` } var C config err := viper.Unmarshal(&C) if err != nil { log.Fatalf("unable to decode into struct, %v", err) }
En utilisant cette approche, Viper annulera automatiquement le fichier de configuration dans le structure définie, fournissant un moyen propre et concis d'accéder aux données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!