Ich habe eine Yaml Config-Datei, die alle Einstellungen für mein Programm hat. Zum Beispiel:GoLang Ändern Sie den Wert eines Konfigurationselements mit Viper
something:
enabled: true
ich https://github.com/spf13/viper bin mit dem Wert eines Elements zu erhalten:
viper.GetBool("something.enabled")
Aber ich frage mich, ob es einen Weg gibt, den Wert von „something.enabled“ direkt ändern zu "falsch" mit Viper? Die Änderungen werden auch auf der Config-Datei anzuwenden, so wird es,:
something:
enabled: false
Meinst du: Wenn du deine Konfigurationsdatei änderst, wird auch die Konfiguration in deinem Programm aktualisiert? Wenn ja, müssen Sie Ihre Konfigurationsdatei zum Beispiel mit 'fsnotify' ansehen. Wenn die Datei geändert wird, verwenden Sie das Ereignis, um die Konfiguration neu zu laden. – apxp
@apxp Nicht genau, ich meinte das Programm aktualisiert den Wert eines Elements in der Konfigurationsdatei. Das Gegenteil von dem, was du gesagt hast. – SuperPykkon
In diesem Fall würde ich empfehlen, die Konfigurationsdatei zu lesen und zu marshalen, indem Sie das yaml-Paket verwenden. Dann können Sie in die Conf-Datei schreiben. – apxp