有没有办法从加载的配置文件中删除键/值对?

viper.Set("key", nil)

不起作用

最佳答案

尝试

delete(viper.Get("path.to.key").(map[string]interface{}), "key")

例子:
[backends]
  [backends.setibe]
    [backends.setibe.servers]
      [backends.setibe.servers.server0]
      url = "http://192.168.1.20:80"
      weight = 1
      [backends.setibe.servers.server1]
      url = "http://192.168.1.21:80"
      weight = 1

删除“backends.setibe.servers.server1”
delete(viper.Get("backends.setibe.servers").(map[string]interface{}), "server2")

关于go - 从毒蛇配置文件中删除键值对,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52339336/

10-10 19:33