Я искал анализатор конфигурации для go, и https://github.com/spf13/viper, кажется, очень рекомендуется.
Я очень удивлен, обнаружив, что файлы конфигурации не проверяются по умолчанию. Viper анализирует файлы и извлекает из них запрошенные значения, но я не могу найти способ обнаружить неправильную конфигурацию.
Например, если я создаю (. Java стиль) файл .properties, содержащий только «???»и ничего больше. Это принято без каких-либо ошибок.
Я могу понять философию, что вы должны игнорировать нерелевантные элементы конфигурации, но я желаю большей строгости. Я также хотел бы отклонить все, что не соответствует формату X = Y в файле свойств.
Для меня это фатальный недостаток, который предполагает, что я должен использовать другой пакет (или свернуть свой собственный как обычно).
Я что-то пропустил? Поддерживает ли Viper обнаружение и отклонение неверных ключей конфигурации?