не смотря на то, что я никогда не испытывал особых проблем с yaml, этот формат, конечно, не фонтан для конфигов. Тут автор на него наехал, и не без оснований.
Я, несколько раз, порывался заменить свои yaml конфиги, особенно те, что могут править наши тетки, на что-то менее капризное. В качестве альтернативы смотрел на TOML и HCL. Toml как-то совсем не нравится, HCL получше будет, но так и не решил. И нет, если вы собираетесь рекомендовать json для конфигов, не тратьте время.
Возникла странная мысль - а может сделать их на go вообще, эти конфиги? Т.е. прямо написать struct заполненную, как это в го пишут? Потом ее на лету выполнить тем, что в го заменяет eval. Не уверен как, но наверняка делается.
т.е. в конфиг файле будет прямо написано нечто типа:
https://www.arp242.net/yaml-config.html
Я, несколько раз, порывался заменить свои yaml конфиги, особенно те, что могут править наши тетки, на что-то менее капризное. В качестве альтернативы смотрел на TOML и HCL. Toml как-то совсем не нравится, HCL получше будет, но так и не решил. И нет, если вы собираетесь рекомендовать json для конфигов, не тратьте время.
Возникла странная мысль - а может сделать их на go вообще, эти конфиги? Т.е. прямо написать struct заполненную, как это в го пишут? Потом ее на лету выполнить тем, что в го заменяет eval. Не уверен как, но наверняка делается.
т.е. в конфиг файле будет прямо написано нечто типа:
things := Things{
Abc: 123,
Foo: “bar”,
Blah: []int{1,2,3,4,5},
}
https://www.arp242.net/yaml-config.html