我正在读取两个YAML文件,其中一个被视为“基础”,一个被视为“环境”。我需要将其解组为有序 map ,然后合并它们,并保留其顺序。
因此,如果基线看起来像这样:
key1: baseline
key2:
subkey1: baseline
subkey2:
subsubkey1: baseline
环境看起来像这样:
key2:
subkey2:
subsubkey1: environment
我希望生成的 map 看起来像这样
key1: baseline
key2:
subkey1: baseline
subkey2:
subsubkey1: environment
我尝试使用yaml.MapSlice {},但是它本质上是一个数组数组,您无法真正合并。
使用Ruby,我可以使用activesupport的deep_merge()并获得所需的结果,并使用Python的Collections.OrderedDict获得相似的结果。在Go中查找任何内容都很困难。我说Go是按这种方式设计的,这使人们不屑一顾。
一切都很好,但是我需要项目的功能。
最佳答案
好吧,我解决了!我的目标是深度合并两个Yaml文件并保留其顺序。我和一位同事想通了。我将对OrderedMap Python克隆做同样的事情。
关于dictionary - Go中的深度合并订单图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51603747/